|So you have a ScanTime of 250-270ms.
It is generated by subtracting the current time (DateTime.Now) from the _LastScanTime which was populated by the last loop. It represents the number of milliseconds the system takes to complete the processing loop from the VM.
PS It is still a very straight forward piece of code which is staggeringly simple. Try adding
Thread.Sleep(100) after your subtraction line and see what happens.
Never underestimate the power of human stupidity