As suspected input buffer is holding > 3900 inputs and either pyserial or pygame scheduler is apparently returning to process these, completely ignoring loop structure. WTF. Flushing input buffer after top if readSensor test passes.