Здравствуйте, Аноним, Вы писали:
Попробуйте в конце вашей Cleanup2 вставить вызов SetProcessWorkingSetSize(GetCurrentProces(), -1, -1). (Только успех вызова проверьте, а то чёрт её, висту, знает, какие там привилегии).
Если после этого результат появится, можете убирать вызов обратно: всё в порядке, система сама сбросит working set, когда ей понадобится память. Если не поможет, попробуйте поглядеть адресное пространство своего процесса утилитой
vmmap от Sysinternals (ныне Microsoft).