I tried making the changes that you described, except changing the calibration points, and I don’t see any of the problems that you describe. So the question is why it doesn’t work on your machine.
When you say that the eye tracker disconnects and the calibration freezes, can you describe in more detail what you observe? Are there any messages printed to the Output window in Visual Studio?
Robert’s comment about the UI thread doesn’t really apply in this case since console apps don’t care about threads.