Which timer component are you using? System.Windows.Forms.Timer or System.Threading.Timer ?
I suspect that SWFTimer uses the SetTimer API call, which uses window messages that would explain what you see, it would be better to use a thread timer.
You can also just use the stream, save DateTime.UtcNow and every 100 ms or something in the stream, get another DateTime.UtcNow and check the TimeSpan for the elapsed time.
Lloyd source share