I'm trying to raise a [PropertyChanged](http://msdn.microsoft.com/en-us/library/system.componentmodel.inotifypropertychanged.propertychanged.aspx) event that is being listened to by a weak event handler (via [PropertyChangedEventManager](http://msdn.microsoft.com/en-us/library/system.componentmodel.propertychangedeventmanager.aspx)). For some reason I'm getting an [ExecutionEngineException](http://msdn.microsoft.com/en-us/library/system.executionengineexception.aspx) when I raise the event.

My event raising code looks like:

```
protected virtual void RaisePropertyChanged(string aPropertyName)
{
    var lHandler = this.PropertyChanged;

    if (lHandler != null)
    {
        // ExecutionEngineException is thrown here
        lHandler(this, new PropertyChangedEventArgs(aPropertyName));
    }

    return;
}

```

My handling code looks like:

```
public bool ReceiveWeakEvent(Type aManagerType, object aSender, EventArgs e)
{
    bool lHandled = false;

    if (aManagerType == typeof(PropertyChangedEventManager))
    {
        OnPropertyChanged(aSender, e as PropertyChangedEventArgs);
    }

    return lHandled;
}

```

I'm not getting any useful results when I search for this exception, and the exception itself doesn't contain any useful information! What's causing the problem?