Jim,
Hai sentito correttamente. Pulisce periodicamente la memoria attraverso un meccanismo chiamato Garbage Collector. Puoi "forzare" la garbage collection attraverso una chiamata come quella qui sotto.
GC.Collect();
Si consiglia vivamente di leggere this MSDN article on garbage collection.
MODIFICA 1: "Forza" era tra virgolette. Per essere più chiaro come un altro poster era, questo in realtà lo suggerisce. Non puoi davvero realizzarlo in un momento specifico. Da qui il link all'articolo sulla raccolta dei rifiuti in .Net
EDIT 2: Ho realizzato che qui solo forniva una risposta diretta alla tua domanda principale. Per quanto riguarda la tua domanda secondaria. Utilizzando Visual Studio 2008 Express verrà comunque utilizzato il framework .net, che è ciò che esegue la garbage collection. Pertanto, se esegui l'upgrade all'edizione professionale, avrai comunque le stesse capacità/limitazioni di gestione della memoria.
Modifica 3: This wikipedia aritcles on finalizers fornisce alcuni buoni indicatori di ciò che è appropriato fare in un finalizzatore. Fondamentalmente se stai creando un oggetto che ha accesso a risorse critiche, o se stai consumando un tale oggetto, implementa IDispose e/o sfrutta il usando la dichiarazione. L'utilizzo chiamerà automaticamente il metodo Dispose, anche quando vengono lanciate eccezioni. Ciò non significa che non è necessario dare la corsa finalizzatori suggerimento ...
fonte
2009-12-05 18:03:05
fermarlo. Non farlo. Lascialo da solo. Non osare. No. Non tuo. Vai via, pensa a qualcos'altro. – Will
@Will. Toccato su un punto dolente ha fatto? –
@Jim A meno che tu non sia un esperto e sappia cosa stai facendo, non lo farei. Anche da esperto non lo farei. Se ti stai trovando a dover chiamare il GC, scommetto che c'è un altro problema ... cioè una perdita di memoria *. –