I understand what you're saying, but it's a trade-off...
Do I want my cursor to blink, be able to move around, cut/paste, and whatnot and use OnGUI or not?
I thought there was a comment in the code explaining why OnGUI was there.
I went around trying to replace the OnGUI code with non-OnGUI code and failed miserably.
I had read the same thing, the "mere presence of OnGUI" creates GC allocations and can wreak havoc on your program.
My suggestion is... run your game window, use the profiler. Stop. Comment out OnGUI code. run the game window, use the profiler.
Actually, I think I'll try that in a bit. Also, I believe a lot of those forum posts regarding the awfulness of OnGUI was before they moved a lot of the code to C++ (maybe). I know it used to be worse.