Removed the polling code, as the event-based code works fine - the performance issues were due to running the executable from within Visual Studio -> it's console output becomes extremely sluggish after about 130 lines.