Code:
new ThreadStart (Method1)
ThreadStart is a delegate. Method1 is a function that matches the ThreadStart delegate. Method1 is going to be the entry point (aka the starting point) for the new thread.
Code:
new Thread (new ThreadStart (Method1))
The thread object is being created.
Code:
Thread firstThread = new Thread (new ThreadStart (Method1));
The created thread object is being assigned to firstThread.
Depending on what you are wanting to do with threads, the BackgroundWorker class which I *think* is in the System.ComponentModel namespace makes it easier to have background worker threads separate from your main program flow.