I had an project with too many winforms in it(Approx 50). After 2 or 3 Debug Builds and Runs i used to get following error.
Error 1 Unexpected error writing metadata to file
'E:\Repository\Project\JewelSoft\PresentationTier\obj\Release\PresentationTier.exe'
-- 'Not enough storage is available to complete this operation.
' PresentationTier
So take care and always implement GC where ever required.
Update 1:
Although there are methods like GC.Collect(), you dont often require to implement it unless you have cases that your code ends abruptly or switches the threads. Things like Disposing the forms which are not required after closing and avoiding repetitive declarations of object will be helpful.
Update 2:
To know more when are where to write GC.Collect please refer these links:
GC.Collect()
When to call GC.Collect
When is it acceptable to call GC.Collect?
And about form dispose, on Form close method it will automatically get disposed, but then if you have an variable for that form in some other form then it is advisable to write form1 = null;
in form1_disposed
event