We are developing a big .NET Windows Forms application. We are facing a memory leak/usage problem in that despite we are disposing the forms.
The scenario is like:
- Our application is using 60 KB of memory with a list of records displaying in a grid.
- When the user clicks on a record it opens a form,
myform.showDialog
, show the details. The memory jumps from 60 KB to 105 MB. - Now we close the form
myform
to get back to grid, and dispose that form and set it to null. Memory remains at 105 MB. - Now if we again perform step 2, it would jump from 105 MB to 150 MB and so on.
How can we free up the memory when we close myForm
?
We have already tried GC.Collect()
, etc., but without any result.