They run parallel, but start with a time delay that is bigger than the runtime of each thread itself. Toss in a delay after each Console.WriteLine and you'll see.
By the way, the more elegant way of starting a new thread is
ThreadPool.QueueUserWorkItem(delegate
{
//code here
});