@ SDX2000 - Хорошее мышление. Спасибо за предложения.

общие причины ошибок нарушения прав доступа в .NET.

Вещи, которые я проверил до сих пор -

Вызовите Dispose для всех объектов, реализующих IDisposableПроверьте правильность аргументов в вызовах COM-объектов.Явно удалите все добавленные вручную обработчики событийНЕ открывайте вызов GC.Collect / GC.WaitForPendingFinalizersДобавить иУдалить нехватка памяти при работе с нативными объектами (растровые и т. д.) (добавленной)Проверьте все вызовы PInvoke для допустимых типов аргументовОбеспечить правильное использование IntPtr, SafeHandle и HandleRefThreading (Thread Safe, функции Reentrant), правильное использование ручек ожидания. (добавленной)Убедитесь, что все приложения и библиотеки DLL ориентированы на одну и ту же платформу (x86 или x64) (приложение и библиотеки DLL должны ориентироваться на ту же платформу, что и COM-объекты.) (добавленной)

Любые другие предложения?

редактировать - Перенес анализ аварийных дампов на другой вопрос.

Ответы на вопрос(2)

Ваш ответ на вопрос