Я борюсь с некоторыми проблемами с памятью в своем приложении и, наконец, мне удалось докопаться до сути. Недавно у меня был пример, когда моя память процесса достигла 800 Мб при обработке задачи. Мне удалось заставить это обосноваться в 140 МБ сейчас, что вполне приемлемо. Однако это заставило меня усомниться в моем понимании .NET Garbage Collector. Моя проблема с памятью была исправлена путем освобождения 2 объектов .NET (TADOCommand и TDataSet - в delphi) после каждого использования. Область действия этих переменных локальна для процедуры, поэтому я предположил, что они должны быть очищены автоматически, потому что ничто не должно иметь ссылки на них.
Итак, как .NET обрабатывает освобождение объектов, которые не являются .NET? Или нет?
Спасибо.