When there happens to be a hitch or otherwise low framerate while the user is typing input, the order of their submit command relative to the rest of their input can change. For example, if the user types "Hello World" and then presses Enter while experiencing poor performance, their input might be received instead as "Hello W", Enter, "orld". Looks like this is due to the separate implementation of the submit key in the OnGUI method (via the UIInputOnGUI class). This is probably true for other non-text input (such as backspace, arrow keys, copy, paste, etc.) that are processed by UIInputOnGUI.
Ideally, everything would happen in the order that the keys were actually pressed regardless of any performance issues. The fact that it does not even further punishes users on lower-end machines that regularly experience poor performance.
Any ideas about how to remedy this problem?