From: Guy on
I had a similar problem but in another processing section of the
software. The problem was I was not calling Dispose after using a
dbreader or db command. It was pretty easy to see the memory
consumption going up with task manager. But this time it not that
obvious.

The main loop is one db reader, reading my 6M records, then each
record gets some processing and is output as XML.
I got memory leak somewhere. Note that one of my CPU is at 100% for
hours processing this output thread, is it possible the GC does not
get any time to collect ?