Джим,
Вы правильно слышали. Он периодически очищает память с помощью механизма, называемого сборщиком мусора. Вы можете «форсировать» сборку мусора через вызов, подобный приведенному ниже.
GC.Collect();
Я настоятельно рекомендую вам прочитать эту статью MSDN о сборке мусора .
РЕДАКТИРОВАТЬ 1: "Сила" был в кавычках. Чтобы быть более ясным, как другой плакат, это действительно только предполагает. Вы не можете сделать это в определенный момент времени. Отсюда ссылка на статью о сборке мусора в .Net
РЕДАКТИРОВАТЬ 2: Я понял, что все здесь предоставили только прямой ответ на ваш главный вопрос. Что касается вашего второстепенного вопроса. При использовании Visual Studio 2008 Express все равно будет использоваться .NET Framework, который выполняет сборку мусора. Поэтому, если вы когда-нибудь перейдете на профессиональную версию, у вас останутся те же возможности / ограничения управления памятью.
Редактировать 3: В этой википедии говорится о финализаторах дает несколько хороших советов о том, что делать в финализаторе. В основном, если вы создаете объект, который имеет доступ к критическим ресурсам, или если вы потребляете такой объект, реализуйте IDispose и / или воспользуйтесь оператором using . Использование автоматически вызывает метод Dispose, даже когда генерируются исключения. Это не значит, что вам не нужно давать подсказку финализаторам бега ...