Dekompilierte Assembly - ungewöhnlicher Code

Ich habe eine Assembly mit ILSpy dekompiliert und insbesondere eine Klasse hat meine Aufmerksamkeit auf sich gezogen:

public class CustomTextStream : NetworkStream
{
    private EventHandler<CustomEventArgs> someEvent;
    public event EventHandler<CustomEventArgs> SomePublicEvent
    {
        add
        {
            EventHandler<CustomEventArgs> eventHandler = this.someEvent;
            EventHandler<CustomEventArgs> eventHandler2;
            do
            {
                eventHandler2 = eventHandler;
                EventHandler<CustomEventArgs> value2 = 
                    (EventHandler<CustomEventArgs>)Delegate.Combine(eventHandler2, value);
                eventHandler = 
                    Interlocked.CompareExchange<EventHandler<CustomEventArgs>>(
                    ref this.someEvent, value2, eventHandler2);
            }
            while (eventHandler != eventHandler2);
        }
        remove
        {
            // similar stuff...
        }
    }
}

Weiter im Code sieht es so aus, als würde ein privater Delegat verwendet, um ein tatsächliches Ereignis auszulösen:

if (something != null && somethingElse != 0)
{
    this.someEvent(this, new CustomEventArgs(someArg));
}

Die Frage: Kann jemand erraten, welche Idee hinter diesen benutzerdefinierten Zugriffsmethoden steckt, vorausgesetzt, dass keine "Kompilierungs- / Dekompilierungsmagie" stattgefunden hat? Ich bin nicht sehr vertraut mit IL, übrigens ...

(Randnotiz: Die Anwendung ist multithreaded und nutzt offensichtlich die Vernetzung.)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage