.Net FrameWork 4.5 にて下記プログラム作成しました。
Taskで実行するとtimerはtimer_Tickにたどり着かず、
そのまま呼び出すとtimer_Tickに行きます。
両者の違いは何故発生するのでしょうか?
よろしくお願いします。

class a
{
     Timer timer = new Timer();
     public a()
     {
          timer.Tick +=  timer_Tick;
     }
     public void Start()
     {
          timer.Interval = 1000;
          timer.Start();
     }
     void timer_Tick(object sender, EventArgs e)
     {
        return;
     }
}

class main
{
     public main()
     {
        a A = new a();
        Task.Run(() => { A.Start(); });  //Tick しない。
        A.Start();  //Tick する。
     }
}