.NET will use more memory than VB6 programs. One of the penalties of a large framework with a garbage-collected language.
BTW: you'll want to remove all your calls to GC.Collect(). The garbage collector does a good job of cleaning up short-term objects.
In order to minimize memory usage, allocate all your large data objects (> 85Kb) only once. The garbage collector doesn't run a compact cycle on them, so over time you can get some bloat if you new/dispose them a lot.
You'll also want to make sure you call .Dispose on any objects that support the IDisposable interface. Otherwise there's a chance that you'll be unnecessarily consuming scarce resources like file, database, and graphic handles.
To see where the large consumers are in your program, you can run perfmon.exe, and add some of the .net memory counters, and monitor it as you exercise your application.
Chip H.
____________________________________________________________________
If you want to get the best response to a question, please read FAQ222-2244 first