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