Because it is very important that the objects of the derived class MulticastDelegate are immutable. Which ensures that the state cannot be damaged when arbitrary code that you do not know about the event handler subscriber. The immutability in .NET is implemented by convention, you make fields private, do not provide property qualifiers, or provide a default constructor.
This is not a trait that can be inherited; you can get a class for an immutable base class and make it mutable. And break the requirement of immutability.
, , MulticastDelegate. , , , delegate. , Invoke() BeginInvoke(), , .
.