こういうメソッドを作って、Do(FuncAなど)とすると、
FuncAが実行されるのですが、

static void Do(System.Threading.ThreadStart func) {
  func();
}

System.Threading.ThreadStartはどういう意味があるんでしょうか?

ThreadStart threadDelegate = new ThreadStart(Work.DoWork);
Thread newThread = new Thread(threadDelegate);
newThread.Start();
とは根本的に関係無いですよね?