I have a rather large WPF (.net 3.5 sp1) business app. There are 2 projects within the solution. One project contains my business objects and all database interaction and business logic. The other project is the front end ui. Multiple
tabs, many controls on each tab, lots of data, lots of objects bound to controls...
All works very well. My problem is that when I reload the data (which is semi-frequent), the old business objects that held the prior data never gets released by the Garbage Collector, so the size of the app continues to increase.
I've tried nearly everything I can think of. I've ensured nothing held a reference to the objects that were destroyed. Anything that had a dispose function, I ensured that I called it. Set everything to null. I called the gc manually
to make sure it wasn't just a delayed call. Set WPF user controls to null that were bound to my objects. Even tried moving it to .Net 4.0 to see if it was something resolved with the new version.
I'v also researched WPF memory leaks, but I don't think any of the situations apply to me. Finally I installed .Net Memory Profiler which confirmed that the old instances are still alive and consuming memory, but I can't figure out why (although I'm
not an expert at using the .Net Memory Profiler app).
One guess I had (but ca
View Complete Post