0.2 seconds seems too long to sleep, particularly when there's only a 0.049 second sleep between loops.  How about 10 to 50 mS here instead of 200?