Maybe this API Function help you friend...This function was very useful for me because calling the EmptyWorkingSet/SetProcessWorkingSetSize is just a way to clean up before the OS does it.
I think This is C# syntax... Convert and try this in VB.net :
using System;
using System.Runtime.InteropServices;
using System.Diagnostics;
[DllImport("psapi.dll")]
public static extern bool EmptyWorkingSet(IntPtr hProcess);
public void Clean()
{
// get handle to a process
Process ThisProcess = Process.GetCurrentProcess();
// empty as much as possible of its working set
bool Result = EmptyWorkingSet(ThisProcess.Handle);
}
ThisProcess.Handle is the Process's Handle of your program.
and also look this : MSDN Link