Единственные вещи, к которым вам разрешен доступ в финализаторе, - это объекты с корнем (например, статические переменные) или объекты, производные от CriticalFinalizerObject.
Проблема заключается в том, что финализатор не является детерминированным, ему разрешенобегать в любом порядке.Проблема, с которой вы столкнулись, заключается в том, что средство записи текста было завершено перед вашим классом.
Вам нужно либо просто «надеяться на лучшее» и позволить финализатору автора выполнить свою работу, либо вам необходимо провести рефакторинг кода.таким образом, ваш класс сам по себе может быть утилизирован, и это вызывает метод dispose для средства записи потоков.