Memory leak, again!

Posted by Dave on Stack Overflow See other posts from Stack Overflow or by Dave
Published on 2010-05-27T03:41:32Z Indexed on 2010/05/27 5:21 UTC
Read the original article Hit count: 296

Filed under:
|

A couple of weeks ago I was having trouble with memory leaks associated with a ContextMenuStrip. That problem was fixed. See that question here

Now I'm having similar issues with ToolStrip controls. As in the previous problem, I'm creating a large number of UserControls and adding them to a FlowLayoutPanel. Each control creates a ToolStrip for itself in its constructor. When a control is removed from the FlowLayoutPanel (the only reference to the control), it seems memory for the ToolStrip is not being released.

However when I comment out the code that creates the ToolStrip the memory leak doesn't happen.

Is this the same sort of issue as the previous one - I need to set the ToolStrip to null? I don't see how that could be since this time the control is creating the strip itself, and all the button events etc are handled inside it. So shouldn't everything be GC'd when the control is no longer referenced?

EDIT: As to the comments, the thing I don't understand is originally I was "making" my own toolstrip out of a panel and some labels. The labels were used as buttons. No memory leaks occurred this way.

The only thing I've changed is using a proper ToolStrip with proper buttons in place of the panel, but all the event handlers are wired the same way. So why is it now leaking memory?

© Stack Overflow or respective owner

Related posts about c#

Related posts about memory-leaks