В ряде ответов говорится, что вы должны позвонить в Dispose.Хотя эти ответы значат хорошо, на самом деле они вам не помогут.Вы звоните Close, а Close и Dispose делают то же самое. Лучше практиковать использование блока «using», чтобы вы автоматически вызывали Dispose, но ваш код в порядке.
Реальный ответ на ваш вопрос:«Перестань беспокоиться об этом».Вы думаете об этом на неправильном уровне.Я предполагаю, что вы просматриваете либо «рабочий набор», либо «частные байты» в диспетчере задач, но вы можете не понимать, что это означает на самом деле.Большинство людей этого не делают.Этот ответ дает хорошее резюме:
Что такое частные байты, виртуальные байты, рабочий набор?
Хорошо, теперь, когда вы знаете, что такое "частные байты", этодолжно быть более понятно, почему это не проблема.Предположим, вы сборщик мусора в CLR.Вы выделяете кучу памяти от имени пользователя и используете ее для хранения управляемых объектов.Время от времени сборщик мусора работает, сжимая объекты в памяти и помечая память, ранее использовавшуюся ныне мертвыми объектами, как доступную. Но почему GC возвращает все эти блоки памяти операционной системе? GC имеет доказательства того, что вы относитесь к тому типу людей, которые пишут программы, использующие столько памяти, поэтому он хранит пустые страницы так,что вам не придется нести расходы на их повторное выделение позже, когда вы снова используете столько памяти через два миллисекунды.
Итак, перестаньте беспокоиться об этом.Все, наверное, хорошо.Использование 500 миллионов байт памяти не является проблемой.Если вы начнете получать мало виртуальной памяти, GC, скорее всего, начнет выводить неиспользуемые страницы.Если это не так - если это продолжает расти без границ, тогда начинайте беспокоиться.
Если вы все еще волнуетесь, используйте подходящий инструмент для этой работы.«Частные байты» очень мало говорят о том, что на самом деле происходит с памятью в вашей программе. Если вы хотите узнать, что на самом деле происходит в сборщике мусора, вам нужно использовать профилировщик управляемой памяти. Он даст вам отчет о том, что происходит.