I have developed a DB app using Access, VB6, ADO, VB data reports. One user is getting RTE 7 (Out of memory errors) with WIN98 and 128MB RAM.

I have done all of the obvious things - closed recordsets, kept vars local, set forms to nothing when closing etc.

I cannot reproduce the error on WIN2000, 256MB RAM. I downloaded a "memory monitor" from a previous thread so that I could see when chunks of RAM were being consumed by my app. I notice that when data reports are run that up to 8MB of RAM is consumed but not reclaimed when the report is closed. When I was close to consuming all of my RAM, I opened IE (to try to crash my app) but WIN2000 found "virtual memory" and the available RAM jumped back to 170MB.

How can I reclaim memory after reports have been run and closed?
What is Virtual RAM? Is this new to WIN2000?
If I have a form and set it to nothing, is the memory occupied by module level vars freed?