>la cosa funziona e il valore restituito da GetTotalMemory è
>sempre costante in seguito a GC.collect come dovrebbe essere.
>Come è possibile rimediare?
Attenzione, se tu fai una ShowDialog l'applicazione si ferma in attesa che l'utente chiuda prima o poi la Dialog Box. Del resto è una Dialog e non una Form.
Quindi se tu scrivi:
Dim a As New Form1
a.ShowDialog()
a.Dispose()
Console.WriteLine(GC.GetTotalMemory(True).ToString())
A Runtime il flusso del codice si ferma su a.ShowDialog() e procede solo dopo che hai chiuso la Dialog Box diversamente da quanto succede con la Form normale.
Quindi chiudi prima la Dialog e poi chiama il Collect.
CIao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/