Silverlight and memory management, it’s a tougher combination than you should think. Because of the way Silverlight is written, introducing memory leaks in different places happens easily. Much of Silverlight’s internals are build in native code (C++). The actions that you take in managed code can cause Silverlight to allocate large amounts of native memory on your behalf, be it for layout, rendering, image allocations, you name it.
Of course before you can start tracking memory leaks, you first need to know your current memory usage. A good starting point is the following blog post, which guides you through the different steps to start profiling your Silverlight application.
A must read for every hardcore Silverlight developer.