If you test it, you will see that it doesn't do anything. Why is it even permitted?
asked Sep 23 '10 at 12:59 AM
You can unregister any delegate without getting an error, whether it is named or not or registered or not. (Why, I don't know, possibly for efficiency reasons or simply because it is not required by the C# standard).
By holding a reference to the delegate, you can successfully unregister it:
Some more info:
answered Sep 23 '10 at 09:35 AM