 <p>Per the docs from <a href="http://msdn.microsoft.com/en-us/library/system.windows.forms.form.close.aspx" rel="nofollow">Form.Close</a>:</p> <blockquote> <p>The two conditions when a form is not disposed on Close is when (1) it is part of a multiple-document interface (MDI) application, and the form is not visible; and (2) you have displayed the form using ShowDialog. In these cases, you will need to call Dispose manually to mark all of the form's controls for garbage collection.</p> </blockquote> <p>I am presuming your form is a dialog since that is what is mentioned in the title. It looks like you will need to explicitly call Dispose to deallocate the win32 resources.</p>