A TRACE exception or fault that occurs during a critical section of code would cause the faulted thread to be delivered to the debugger and suspended. This would break the protection of the critical section by allowing interrupts or other threads to run while the traced thread is suspended, and bad things would happen.