If you are in the destructor due to stack expansion in the exception handler, I suggest reordering your code so that you disable exceptions in the serialized block.
After the block, you check if the object is really valid, and call your method. Thus, an exception from one thread will allow other threads to correctly handle the call to the destructor.
Sergey Golovchenko
source share