There is actually a way to run Windows always in garbage collection mode (it doesn't by default). Just turn off the Paging File. I would only recommend this to someone with a very large amount of ram, but I have noticed a bit of a speed increase when running my PC this way.
I don't think this will make a difference to the memory usage phenomenon I described.
This is sort of a subtle concept--something that draws on programming knowledge (sorry to some people in the thread...). In the internal memory management of an application like a browser, memory is allocated and freed on a continual basis. However, the "freeing" of memory isn't necessarily immediately freed as far as the operating system is concerned--it's merely freed from the point of view of the internal memory management of the program. For example, if addresses 0x00000000 to 0x000000FF are currently being used, 0x00000100 through 0x0000001FF are not used, but 0x00000200 through 0x000002FF are still used to hold current data, then the memory 0x00000100 through 0x0000001FF remains allocated as virtual memory by the operating system, even though the application isn't using it anymore. This memory could eventually be paged out of physical memory and won't impact performance (in reality, with the numbers I have picked it won't be as they are less than 4KB increments but I'm just using small numbers for illustrative purposes). This is internal memory fragmentation. The application cannot adjust the contents of 0x00000200 through 0x000002FF downward to fill the "gap" because internal pointers which hold the virtual memory addresses would then point to the wrong addresses.
BUT... if the application is running in a garbage collected environment--notably Java or .NET--then the environment CAN "garbage collect" (and defragment) the unused memory and return it to the operating system. Pointers are adjusted during the garbage collection process. This is possible because in Java or .NET, in contrast to many other platforms like C++, memory management is automatic and directly performed by the program.
Memory could also be defragmented or garbage collected if the programmer explicitly wrote such a memory management system (or used a library that did so).
Regardless of how the application is written, the operating system can re-arrange physical memory all it wants, because virtual memory addresses can be transparently remapped to any physical address, or not mapped to a physical address (which results in a page fault, and paging in of said memory). That is the purpose and beauty of virtual memory. This requires processor support (to be done efficiently), which was a new feature in the 80386 processor.
That said, it surprises me that you'd get any performance increase from disabling the page file.
What field do you exactly work in?
Software developer.