I have this MFC program that was migrated from VS 2002 to VS 2003 and now to VS 2008. It is a dialog based program with quite a few controls on its main window. I don't use owner-drawn controls, but some of those controls might have been subclassed.

I just discovered that if I monitor this program's memory usage with a Task Manager on Windows 7 while dragging it all over the screen (to force re-painting), the follow happens:

Handle count == stays the same
User Objects count == stays the same
GDI Objects count == stays the same

but

Memory - Private Working Set == slowly grows up about 20K a second (only when I drag the program's window)
Memory - Working Set = Also grows at the same rate.

I looked all over a possible OnPaint() or OnDrawItem() leak but found absolutely nothing wrong with the code. I tried to comment out chunks of code that may be called for repainting to no effect either.

I also observed that this memory leak doesn't slow down if I keep on dragging my window and continues on for as long as I force repaiting.

Shall I be concerned about it? And if there're any products that are compatible with Visual Studio 2008 that can detect this kind of a resource/memory leak? FYI, I tried built-in leak detector and it didn't show anything.