I suggest you concentrate on the memory leak.
There are many things that could cause this, some obivous others are very subtle.
Do the following and let us know what you find.
1) Reboot
2) Brinf up the task manager and check the performance before you start. Note memory usage and compare with the actual physical memory.
3) Run your app. Watch the memory usage.
Let us know what you find, and feel free to post your code.
I will not go into all of the things that can cause memory leaks because there have been many posting on this site on how to handle leaks, and I would only be scratching the surface.
Ben