Is it safe to replace all standard event handler to WeakEventManager or its varian?
Standard event handler (with operator += ) is one of the memory leakage cause (if it is not unresgistered/disposed (with -= operator)). And Microsoft solved it with WeakEventManager and its inheritance like: PropertyChangedEventManager, CollectionChangedEventManager, CurrentChangedEventManager, ErrorsChangedEventManager and so on. The simple example code with memory leakage is: public class EventCaller { public static event EventHandler MyEvent; public static void Call() { var handler = MyEvent; if (handler != null) { handler(null, EventArgs.Empty); Debug.WriteLine("============="); } } }