Debugger is a powerful tool, that allows to collect various information about script being executed. However recently I was running a script, that needed to perform 133000 sql INSERT statements. Statements were very short, but handling each one by debugger took 7000 bytes of memory versus 48 bytes (145 times faster) with debugger disabled.
We usually keep debugger enabled for company's IP addresses on websites. This way client might not be having memory leak issue, but we, as developers, will.
To make both end users and developer happy I'm proposing to allow controlling debugger behavior at run time. This way even if debugger is enabled in general any of it's settings can be changed for any particular code piece.