Checking the source code for 2010, you can see the malloc / free call HeapAlloc / HeapFree Win32 API works directly with _crtheap as a heap created by the runtime. Answer to VS 2010 and latest versions of Windows (Win2000, WinXP, Vista, Win 7):
The memory returned by the free is returned to the OS, but it remains committed.
The heap function documentation reports the following about how memory is processed:
HeapCreate , HeapAlloc.... , HeapAlloc , , . , , , , HeapDestroy.
, HeapCreate :
dwMaximumSize 0, . . , , ; VirtualAlloc , . , , dwMaximumSize 0.
, , , VirtualAlloc , , , .
_ heapmin, VS VS , HeapCompact, CRT . _heapmin , , - .