The sleep is to hold or ask to hibernate the thread, if you remove sleep, the thread managing current process will return to the main right way.
The number of milliseconds for which the thread is blocked. Setting sleep to  zero (0) suspends the thread and allow other waiting threads to execute. Specify to block the thread indefinitely.

using System;
using System.Threading;
// csc thread_sleep.cs
namespace ex_threading
public class thread_state
public thread_state() { Console.WriteLine("Thread Constructor "); Thread.Sleep(1000); }

}//end of class thread_state
class test
static void Main()
DateTime dt = DateTime.Now;
Console.WriteLine("Object is being created {0} ", dt);
thread_state ts = new thread_state();
Console.WriteLine("Back to Main");
DateTime dt2 = DateTime.Now;
Console.WriteLine("Time lapsed {0} ", dt2);
}//endo of class test

}//end of namespace

note the time lapsed