I don’t know if it’s me or not but I got a crash in AsyncUpdater::messageCallback(), with an invalid owner address (0x3d). Why not use a WeakPointer instead of a reference?
By reading the code though, it seems that the case of an invalid owner ref with a valid shouldDeliver flag shouldn’t happen.
The callstack doesn’t say much because this is async. All I can say is that all is happening on the Main thread.