Согласно странице MSDN на GC.Collect ():
Все объекты, независимо от того, как долго они были в памяти, рассматриваются для сбора;однако объекты, на которые есть ссылки в управляемом коде, не собираются.Используйте этот метод, чтобы заставить систему попытаться восстановить максимальный объем доступной памяти.
Это предполагает, что память, из которой вы удалили ссылку из , может быть освобождена , если нет другихРекомендации.Тем не менее, вы должны знать, что запуск функции может занять много времени (с точки зрения программы), поэтому вы, вероятно, не захотите вызывать ее самостоятельно: если вы попытаетесь сделать это слишком часто, это может привести к ненужной избыточности.работать и резко замедлить ваше приложение.Если это выгодно, это должно произойти скоро в любом случае.Если вам действительно нужно детерминированное уничтожение, подумайте о том, чтобы добавить немного C ++ и использовать «настоящую» кучу вместо GC-ed.