Sounds to me like an objective c++ paradigm flaw.
It's easy to write async lambdas all over the place but it doesn't mean that your code can cope with state changes in the mean time.
Which reminds me, I think it was MSIE 2, I clicked to print a page and focus returned back to the browser while it was printing. I immediately guessed that if I navigated to another page while it was printing, the browser would crash.
And it did. Changing page WHILE it was printing was like replacing a paving stoe with a banana skin.