System.Windows.Forms.Timer will execute in the UI thread

System.Timers.Timer executes in a thread-pool thread unless you specify a SynchronizingObject

System.Threading.Timer executes its callback in a thread-pool thread