A pesar de que es recomendado dejar que el Garbage Collector (Recolector de basura para los amantes del español) haga el trabajo "sucio" dentro de un aplicativo VB, muchas veces éste parece estar de huelga o algo por el estilo, pero resulta haciendo una porquería de trabajo.
Si estas al borde de la desesperación, imagino que este código podría ayudarte un poco.
'Declaración de la API Private Declare Auto Function SetProcessWorkingSetSize Lib “kernel32.dll” (ByVal procHandle As IntPtr, ByVal min As Int32, ByVal max As Int32) As Boolean 'Funcion de liberacion de memoria Public Sub ClearMemory() Try Dim Mem As Process Mem = Process.GetCurrentProcess() SetProcessWorkingSetSize(Mem.Handle, -1, -1) Catch ex As Exception 'Control de errores End Try End Sub
Fuente: http://gdev.wordpress.com/2005/11/30/liberar-memoria-con-vb-net/