event delegate documentation and speed up using SpinLock + added threading ScopedFence