For the 4th point here is an example of what forced me to make mentioned change. At the very beginning of the game it went to infinite loop:
[Inline Frame]FWindowsPlatformAtomics::AtomicRead(const volatile int * Src) [Inline Frame]UE::Core::Private::Atomic::Load(const volatile int * Element) __Thunk__Instrument_AtomicLoad_int32(int * Atomic, UE::Instrumentation::FAtomicMemoryOrder MemoryOrder) FWindowsPlatformStackWalk::InitStackWalkingInternal(void * Process, bool bForceReinitOnProcessMismatch) FWindowsPlatformStackWalk::InitStackWalking() PreInit()It is probably because FWindowsPlatformAtomics::AtomicRead called std::atomic which in turns contained (with means of custom clang) additional instructions to redirect a call to instrumentation