Вкладені "таски"

var outer = Task.Factory.StartNew(() =>      // зовнішнє завдання

{

     Console.WriteLine("Outer task");

     var inner = Task.Factory.StartNew(() =>  // вкладене завдання

     {

          Console.WriteLine("Inner task start");

          Thread.Sleep(1000);

          Console.WriteLine("Inner task end");

     });

});

                

     outer.Wait(); 

     Console.WriteLine("End of Main");

     Console.ReadLine();

Outer task

End of Main

Inner task start

Inner task end