Em C #, onde devo manter a referência do meu timer?

A documentação deSystem.Threading.Timer diz que devo manter uma referência ao vivo para evitar que seja coletada no lixo. Mas onde devo fazer isso? Minhasmain é muito simples que eu não sei onde guardar a referência:

class Program {
    static void Main() {
        new System.Threading.Thread(myThreadStart).Start();
        new System.Threading.Timer(myTimerCallback, new MyStateObject(), 0, 5000);
    }
}

Pensei em manter a referência em umstatic campo noProgram classe, assumindo questatic os campos não são coletados até o final do aplicativo. Mas não tenho certeza se essa é a melhor maneira de fazê-lo, por isso gostaria de receber seus conselhos.

questionAnswers(3)

yourAnswerToTheQuestion