Funny thing is I frequently saw (in CLR Profiler) that event handlers are usually the main cause of memory leaks in .NET. Now that you mention it, it starts to make more sense. The design here is different, in order to avoid unnecessary overheads, ```PreviewControl``` is created only when it is requested for the first time. And it stays for as long as the corresponding ```dynNodeView``` lives in the memory. A ```dynNodeView``` is removed from memory when user deletes the node, which will make ```dynNodeView.previewControl``` unreachable, therefore releasing all of the corresponding event handlers. Is that a safe assumption?