Unfortunately there is a bug in Windows 7 related to NUMA (non-uniform memory architecture) that will cause issues on certain platforms when the amount of Free memory goes down. For instance, on my Thinkpad T410 with 8GB of RAM the Free memory will approach zero when I load a large VM. When I stop the VM and exit VMWare, the Free memory does not recover - the memory remains allocated by the cache.
The problem with NUMA is that it prefers to allocate memory from banks that are attached to a CPU core (hence non-uniform, i.e. not all memory is considered equal). Unfortunately, the Windows 7 NUMA bug prevents memory from being allocated that is in the Available pool in this scenario. Since I have no Free memory, the machine begins to swap madly when I restart the VM (the same or another one does not matter) and freezes up for minutes - even though there are over 4GB "Available".
So, despite of what the others have said, the amount of "Free" memory is more important than what's in the "Available" pool.
There is a hotfix for this issue:
Poor performance occurs on a computer that has NUMA-based processors and that is running Windows Server 2008 R2 or Windows 7 if a thread requests lots of memory that is within the first 4 GB of memory