This is a widely-known, old issue with the .NET Webbrowser control.
Summary: Having the .NET webbrowser control Navigate to a page increases memory usage that is never freed.
Reproduce the memory leak: Add a WebBrowser control to a form. Use it to Navigate to whatever pages you'd like. about:blank works, scrolling down on Google Images until your usage is 100MB+ and then browsing elsewhere to notice barely any of that memory is freed is a more dramatic demonstration.
My current requirements for an application include running it for long periods of time, displaying a limited IE7 browser window. Running IE7 itself with some bastard setup of hooks, BHOs and group policies isn't desired either, although that's looking like the fallback at this time. Embedding a browser into a Windows Forms application is. Using a different browser base is not an available option for me. IE7 is required.
Previous threads and articles relating to this known memory leak:
- http://www.vbforums.com/showthread.php?t=644658
- How to Fix the Memory Leak in IE WebBrowser Control?
- Memory leak when using WPF WebBrowser control in multiple windows
- http://social.msdn.microsoft.com/Forums/en-US/ieextensiondevelopment/thread/88c21427-e765-46e8-833d-6021ef79e0c8/
- http://social.msdn.microsoft.com/Forums/en-US/netfxbcl/thread/8a2efea4-5e75-4e3d-856f-b