En C #, ¿dónde debo guardar la referencia de mi temporizador?

La documentación deSystem.Threading.Timer dice que debería mantener una referencia en vivo para evitar que se recolecte basura. ¿Pero dónde debo hacer eso? Mimain es muy simple que no sé dónde guardar la referencia:

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

Pensé en mantener la referencia en unstatic campo en elProgram clase, suponiendo questatic los campos no se recopilan hasta el final de la aplicación. Pero no estoy seguro de que esta sea la mejor manera de hacerlo, así que agradecería su consejo.

Respuestas a la pregunta(3)

Su respuesta a la pregunta