Blend-style behaviors also have their own set of lifetime problems.
Then there are some problems (like this and this) where WPF leaks for you too.
Finally, there are things (this, this, this, this, this, and this) that simply perform worse than you likely expect.
Make sure to go through your bindings, especially those on Items Controls (List Views, custom grids, etc.) and verify that there are no binding errors.
Open up your app in the debugger and play around, especially where there is slowness. Relative Source in Data Templates may also result in bindings that break initially, but then later resolve properly.
Again, Items Controls will usually exacerbate performance problems with deep visual trees because if they’re not being virtualized, they’re being destroyed and recreated; if they are being virtualized, changing Data Context in a deeper tree takes more time than changing Data Context in a shallower one. The Unloaded event is a better place for that, but be aware that it will get raised every time the control is removed from the visual tree. Add Value Changed classes cause the WPF framework to take a strong reference to the source of the event that isn’t removed until you call Dependency Property Descriptor. This class is frequently used in conjunction with Behaviors, so if you have Remove Value Changed in On Detaching, you’re likely leaking memory.
Because of WPF’s references to your objects, it is not just enough to drop references to your view and view model.
If your windows/controls or your List Box Item/List View Items in a List Box/List View are coming up more slowly than you would like, it’s probably a combination of too much Resource Dictionary construction and/or Dynamic Resources. NET 4.0.) Collapse Resource Dictionaries as much as you can, and try to ensure that the contents of these dictionaries is only loaded once.
The easiest and surest way is to include it in the resources of your System. Application object, almost always difficult or infeasible for composite applications.
Note: 2008 and older issues are only available as files.
On most versions of windows you must first save these files to your local machine, and then unblock the file in order to read it.
This advice is practically impossible to follow, but do your best.