l evento transcurrido @ System.Timer parece dispararse tarde por cortos intervalos en .Net

Estoy probando un sistema a través del puerto UART y luego registrando la información en un archivo con una marca de tiempo (incluyendo milisegundos). Si tomo muestras a intervalos de 1 segundo, los datos vuelven como se esperaba ... algo así como

1:52:45 PM 750 data
1:52:45 PM 750 data
1:52:45 PM 750 data
1:52:46 PM 750 data

Sin embargo, si disminuyo el intervalo del temporizador a 100 ms, los datos vuelven

1:52:45 PM 531 data
1:52:45 PM 640 data
1:52:45 PM 750 data
1:52:45 PM 859 data
1:52:45 PM 968 data
1:52:46 PM 78 data

Siempre un poco tarde.

Empeora con intervalos de temporizador más pequeños ... ¿Qué me estoy perdiendo aquí?

Respuestas a la pregunta(3)

Su respuesta a la pregunta