dunque, come si stava dicendo:

due progettini piccoli piccoli uguali uguali, un form con un timer e un pulsante per chiudere:

VB6.0:

Private Sub Command1_Click()
Unload Me
End
End Sub

Private Sub Timer1_Timer()
Static s As Boolean
s = True
End Sub

VB2008:

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Application.Exit()
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Static s As Boolean
s = True
End Sub
End Class

spazio occupato in memoria da VB6.0: 1.560 KB
spazio occupato in memoria da VB2008: 9.876 Kb !!!! poco meno della metà di Excel

come si diceva: alla faccia della ottimizzazione del codice
una vera cagata, se mi è consentito, oserei quasi dire una vergogna: è vero che con le dimensioni delle RAM attuali non è nulla, ma è il principio... che un eseguibile da 100Kb occupi più memoria di Word e Excel è assurdo.

devo però dire che in questo caso lo spazio occupato in memoria non varia: nel programma di cui parlavo prima, quello che aumenta la memoria occupata ad ogni ciclo del timer, l' unico codice che viene letto nella routine del timer è un controllo di files aperto:

Try
TestAA = Process.GetProcessesByName("XYZ")
Select Case TestAA.Length
Case 0 : exit sub 'e qui esce perché il file è XYZ chiuso

volete dire che ogni volta che testa occupa sempre più memoria?? e perché mai??