У нас есть сторонняя библиотека, которая внутренне использует SafeHandle для неуправляемого ресурса. В некоторых случаях ошибки необходимо избавиться от объекта и воссоздать его. Но в реализации dispose есть ошибка, которая не позволяет закрыть дескриптор в некоторых случаях. Это предотвращает успешное создание новых объектов до тех пор, пока не запустится его финализатор.
Были предложены два решения (оба злые), чтобы справиться с этим, пока мы не сможем исправить сторонний код:
Запустить GC.
Есть ли какой-то другой метод, который мы не считали менее опасным, чем любой из этих?