убрать вовсе - проблема вроде как решается. Но не думаю что если убрать dispose() хорошая идея.
На самом деле Dispose() это несколько сложная тема. Сложнее, чем кажется на первый взгляд.
И описана не очень хорошо.
Для разных объектов:
1 нужно вызывать обязательно
2 можно проигнорировать
3 управляется транзакцией
4 нельзя вызывать, т.к. управляется автокадом.
5 необходимо предотвратить вызов
в твоем случае, возможно 4-5
в 5 случае, возможно нужно вынести из метода. И не вызывать Dispose
static Solid3d Solidd = new Solid3d();