If you have a 32 bit os, some of the 4gb will be carved out of it for fixed buffers leaving less than 4gb available.
Then, windows will keep unused code in ram in anticipation of fast reuse.
It will always have some ram available to use instantly.
It will do this by paging out the least recently used code to make space available.