Событие Tick выполняет блокирующий (синхронный) вызов метода timer1_Tick
, поэтому, если метод занимает очень много времени, он будет ждать. Он предназначен для вещей, которые могут быть завершены в данный период времени.
Если вам действительно нужно вызывать этот метод каждые 5 секунд, порождайте новые потоки для них на каждом проходе:
private void timer1_Tick(object sender, EventArgs e)
{
Console.WriteLine(DateTime.Now.ToString());
Task.Factory.StartNew(() => CalculationMethod());
}