La classe System.Timers.Timer consente di eseguire, periodicamente, un metodo scelto.
Il suo utilizzo è abbastanza semplice:

using System;
using System.Timers;

namespace test
{
	class MainClass
	{
		private static int toDelete = 0;

		public static void Main (string[] args)
		{
			Console.WriteLine(
				">> Esempio Timer << " +
			    "[premi un tasto per terminare]");

			Timer timer = new Timer();
			timer.Interval = 1000.0;
			timer.Elapsed += new ElapsedEventHandler(TimerEvent);
			timer.Enabled = true;

			Console.Read();
			timer.Enabled = false;
			Console.WriteLine("\nFine");
		}

		public static void TimerEvent(Object sender, ElapsedEventArgs e)
		{

			String timestamp = e.SignalTime.ToString();

			for(int i=0; i < toDelete; i++)
			{
				Console.Write("\b");
			}

			toDelete = timestamp.Length;
			Console.Write(timestamp);
		}
	}
}