Скорее всего, ваши отчеты вызваны кучей процессов. В Windows есть две части выделения памяти. Первая часть - это непрерывное адресное пространство в вашем приложении, через которое осуществляется доступ к памяти. В 32-битной системе, не использующей ключ / 3GB, все ваши ресурсы должны выделяться из нижних 2 ГБ адресного пространства пользователя. Вторая часть выделения памяти - это фактически память для выделения. Это может быть либо ОЗУ, либо часть файловой системы на жестком диске. ОС обрабатывает перемещение между оперативной памятью и файловой системой подкачки в фоновом режиме.
Скорее всего, ваше приложение использует кучу Windows для обработки всех выделений памяти. При создании кучи резервируется 1 МБ адресного пространства для памяти, которую он выделит. Пока ему фактически не понадобится память, связанная с этим адресным пространством, физическая память фактически не используется. Если куче требуется больше памяти, чем 1 МБ, она использует алгоритм удвоения для резервирования большего адресного пространства, а затем фиксирует физическую память, когда это необходимо. Важно отметить, что, как только куча резервирует адресное пространство, она никогда не освобождает его.
Лично я нашел следующие книги и главы полезными при попытке понять управление памятью.
Расширенная отладка Windows - Глава 6 В этой книге дан самый подробный обзор кучи, которую я видел.
Внутренние компоненты Windows - Глава 7 В этой книге добавлено немного информации, отсутствующей в Advanced Windows Debugging; однако, это не дает такого хорошего обзора.