I have recently started using dotTrack Memory Profiler to help with the removal of some memory leaks from my winforms C# application. Prior to this, I had little knowledge of how to effectively manage resources and memory within C#.
It has been a crash course, but I have had some success. I have fixed the memory leaks from some aspects of my application - printing mainly. This was done mainly by un-registering events that were associated with report printing after the report was printed.
I am now moving onto forms. I'm not having quite as much luck with forms as I had with reports though. I am focusing on the list I can see in the "Incoming References by Objects" associated with the form that refused to un-load. Most of what I can see in here are events, and with a bit of detective work, I have been able to work out where they are registered, and can ensure they are un-registered. By doing this, I have greatly reduced the list in "Incoming References by Objects".
There are some items in the list which, for the life of me, I cant work out where they come from. An example of one can be seen on an msdn posting I put up (http://social.msdn.microsoft.com/Forums/nl/netfxbcl/thread/4f6844e3-1101-4795-9925-2eb93df0c85a).
So, I'm not sure where to go from here. It seems that JetBrains provides a great tool for identifying memory leaks, but doesnt really provide much of a guide of what to do with them, or how to rectify them.
Is there some sort of comprehensive guide I can use to help me sort this out? Is there some support service that can help me track down the problem?
Up until now I have been able to make progress by a combination of brute force and guesswork, but I really cant work out what to do next.
Sorry for late answer,
You are right, we have very restricted support for common user scenarios, and this is partly an activity for forthcoming versions 4.0 and 4.5. The problem is how to "semantisize" topology of an object reference graph, and suggest users possible solutions. If you can propose use cases which are critical for you, we will be glad to listen and analyze them.