Windows.Forms.Timer O System.Threading.Timer

Tengo una aplicación que ejecuta muchos hilos. Cada hilo debe tener un temporizador que verifique algo en el scope de ese hilo. Mi pregunta es: ¿Qué temporizador debería usar y cuál es la diferencia entre ellos?

Este artículo proporciona una comparación excelente y debe contener la información que necesita: Comparación de las clases de temporizador en .NET Framework Class Library :

  Windows.Forms System.Timers System.Threading 
 El evento del temporizador se ejecuta en qué hilo?  IU de UI thread o thread worker 
 Las instancias son seguras para hilos?  No Sí No No 
 Modelo de objeto familiar / intuitivo?  Sí Sí No 
 Requiere Windows Forms?  Sí No No 
 Latido de calidad metronómica?  No Sí * Sí * Sí * 
 ¿El evento del temporizador admite el objeto de estado?  No No Sí 
 Evento de temporizador inicial progtwigble?  No No Sí 
 La clase apoya la herencia?  Sí Sí No 

* Según la disponibilidad de los recursos del sistema (por ejemplo, subprocesos de trabajo)