Вообще то, что у тебя произошло - случай исключительный. Так что просто смело его убивай. Он действительно пересоздастся. Врядли в C3D вы используете какие-то материалы, которые нужны для лишь для визуализации. Проверить используется этот словарь (а точнее один из его элементов) можно при помощи метода Database.Purge, которому передашь коллекцию ObjectId элементов этого словаря. Те элементы, которые останутся в этой коллекции после вызова Database.Purge, можно теоретически удалить.