Все зависит от вашей арихитектуры, если это простое консольное приложение и кроме таймера вам ничего не нужно, то я бы делал так:
Timer timer = new Timer((obj) =>
{
Console.WriteLine("Hello");
});
timer.Change(0, 1000);
Thread.CurrentThread.Suspend();
Поток останавливается, ничего не вылетает и таймер работает как нужно.