apparently, LockTrace's enter method creates a backtrace every time it's called - which is terrible performance wise:
this only happens on debug, but the performance hit is too high to be acceptable (in my opinion). maybe gating the backtrace behind a feature would make sense, given it is a feature to help debug code that tries to acquire the lock recursively?