Handle aborted QSV sync operations
Improved profiler thread safety

Fixes possible corruption/crash if any list is resized while the contents are in use through a pointer, for example:
parent->info would point to an invalid location if parent was an element of ProfileNodeInfo::profilerData
and another root node was created (in another thread) before all direct children of parent were initialized