It happens every once and a while. You see it and to the untrained eye you just glance over it, but if you are in the know it should stop you in your tracks. GC.Collect(); Once upon a time when the garbage collector was new to java and .net there were a group of people who thought that they were smarter than the people who implemented these system. They thought that they could find the best place to force garbage collection. At the time they may have been right. But advance the clock, because as we know code is never complete only abandoned, ten years into the future and I see that there is this section of code that is being called as part of a loop. It stopped me in my tracks, to realized that there was once a hack put in place to clear up an issue, and now since we have moved ten years into the future it is more than likely the code that is causing the massive slowdown and the reason that I am looking at the code. I think there is a lesson to be learned here.