Any Infragestic control you use leaks memory. In testing, I've found that UltraTextEditor, UltraTabControl, UltraComboEditor, UltraButton, etc... All do not dispose of themselves correct and all are held in memory due to a strong reference from Infragestics.Win.Office2007ColorSchemeChangedNotifier, which is held by a static event handler.
Just recently the major memory leaks with win tree were reduced to a point where it could be used in production code. I did a sweep of a couple sub system to use all Infragestic control to take advantage of themeing and when from 20-30k memory leaked per sub system instantiation to 5 megs+ leaked.
Seeing how bad the leaks are, surely someone has a work around? Is there a hot fix for this yet?
Are the controls actually being disposed? If they are explicitly being disposed (which should happen when they are part of a form's Controls collection and that form is properly disposed), this could be a bug, though I'm not sure.
You may also want to take a look at this thread, which has some discussion on the matter.
I had already read that thread. The controls that are leaking are on a pop-up dialog that is in a using statement. I have verified that the form dispose is being called and I explicitly called dispose on all of the ultraButton as a test and use a try finally around the using statement and
To insure everything is freeded. However, memory still leaks and I used dotTrace from jetBrains to track down why. Thee is a static class member than holds a reference to an event handler for colorSchemeChanged on every ultra control I use. That event is linked to Office2007ColorSchemeChangedNotifier. The thread you pointed me too has the exact same problem and was indentified in June 2008. Yesterday I installed the latest hot fix and hte problem still persists. I'm shock that after 8 months there is still no fox or work around for this. :(
I just took a quick look and I do see the call in the Dispose method to unhook the event handler for the ColorSchemeChanged event of the Office2007ColorSchemeChangedNotifier, so I'm not really sure why this would still be rooting a control. If you're absolutely positive that the Dispose method is being called for all Infragistics controls, then you should probably submit a small sample to Developer Support so that it can be looked into.
I am seeing this as well. I have verified that the Infragistic's control is Disposed of and fires its' Disposed event but this static is keeping the control around. I haven't had time to recreate this in a sample app but here is what our memory profile shows after the UltraListView has been Disposed of.
I open a support ticket, the result was that this was expected behavior. :( However, with my pop-up editor usage I'm leaking a couple thousand objects an hour and I run out of reosurce handles and the software crashes. The recommendation from teh support ticket was not to recreate those editors so often. :( I did have a sample program with the support ticket to show case, but with a simple window you are only leaking a couple objects and at most 10k a go, which they deemed harmless.