Ссылка: https://connect.microsoft.com/VisualStudio/feedback/details/457217/reg-free-com-fails-when-threaded#tabs
При использовании безрегулярной библиотеки COM DLL (изолировано = true) в потоке, не являющемся пользовательским интерфейсом, я получаю "невозможно привести объект типа COM". Это не тот случай, если DLL вызывается в потоке пользовательского интерфейса. Тем не менее, в моем случае у меня есть довольно ресурсоемкие звонки, есть ли способ обойти это?
Лучшее решение для решения этой проблемы - вызовы com в главном потоке, даже если вы использовали другой метод.Вы можете сделать это, реализовав ISynchonizeInvoke в классах, которые общаются с com, отметьте this .