VC++ 6.0 SP2, NT4 SP5

While testing CStringArray speed and memory usage, I noticed that in DEBUG build, RemoveAll() would free up all of the memory it allocated (for 1,000,000 strings this was about 80MB), but in RELEASE build it released only about 4MB (this would be just the CString array used by CStringArray internally), thus leaving about 75MB still allocated. I am assuming this has nothing to do with CStringArray, it is most likely something to do with CString, but I don't see why in a release build it would not release all the allocated memory.

Can anyone explain this?

Thanks,

Stan