My guess: this changes the timing profile of the overall game/engine. If the engine monitors itself for erratic/unexpected delays, it may conclude that it's running under a debugger if certain procedures take far longer (or shorter) than they should.
You can literally check if something has attached itself to your executable or replaced a DLL. No need to check for timings or anything particularly elaborate.