>>659
後者で十分、前者は過剰じゃね?

前者はこういう使い方ならする。
もっともnet4.5ならasync/awaitを使うが。

var task = Task.Factory.StartNew<int>(() => {
  Thread.Sleep(3000);
  return 999;
 }).ContinueWith((i) => {
textBox1.Text = i.Result.ToString();
 },TaskScheduler.FromCurrentSynchronizationContext());