This article is a must read: http://msdn2.microsoft.com/en-us/library/ms778813.aspx
I've been having a few memory problems lately in the project im currently working on. I thought I was correctly disposing of all my SPWeb and SPSite objects but I didn't realise that even accessing SPFolder.ParentWeb would create a new instance if one wasn't available.