In this post Jossef Goldberg shares a lot of useful information about the memory leaks in WPF-based apps - what can cause memory leaks, how to avoid them and at the end he discusses the tools and techniques available to detect these leaks.
To illustrate the issues I attached a sample application. The application can launch different child windows; each can cause a separate memory leak. In each of the cases, closing the child window does not actually release the memory held by Window object as you would expect.