I'v just gone through delegates concept in C# and understood that delegates are references to methods. to add reference to the delegate object they are using new.

Similarly in multicast delegate they are using new for addition of methods as well as deletion of methods. Uptill now i was in belief that new is used for memory allocation than why new is required for removing referencing also.

Please throw lights about usage of new keyword for referencing and dereferencing methods.

If I remember well, the new can be ommitted since .NET 2.0

The usage of new was to 'create' a pointer to the method, on versions 1.0 and 1.1, wich contents was used to add or remove it from the list of pointers to be called when an event is fired.

Hope this helps