Редактировать: Вместо того, чтобы удалить сообщение, как и было обещано, я проверил текст и, как я подозревал, еще до ухода с работы, что я был неправ. Я ценю, что мистер Скит прямо не назвал меня кровавым идиотом на форуме, хотя он, вероятно, хотел. Я не уверен, откуда у меня эта идея застряла в моей голове даже после прочтения текста, на который я ссылаюсь, в котором есть фантастическое описание того, как работает схема сбора мусора. В любом случае, я прошу прощения и признаю свою ошибку. Ворона имеет плохой вкус, но я учился на своих странных путях:)
CLR сохраняет индексатор для каждого созданного объекта и увеличивается / уменьшается по мере продвижения выполнения. Когда счетчик ссылок на объект достигает нуля, это выделение памяти планируется для сборки мусора. Ссылки могут быть уменьшены с помощью объекта, выходящего из области видимости, объекта, имеющего значение NULL, или вызываемых членов интерфейса IDisposable. Целью реализации IDisposable для ваших классов будет очистка ресурсов, не являющихся POCO, или использование системных ресурсов, которые не очищаются автоматически, таких как дескрипторы файлов, соединения с базой данных, сетевые потоки и т. Д. В противном случае, когда объект выходит из Объем памяти будет очищен во время следующего цикла ГХ.