Создаешь отдельный поток, способ множество:
1. Испольщзование классов Thread и ThreadStart
2.Использование пула потоков посредством класса ThreadPool
3.Использование метода ассинхронного программирования посредством использовапния методов Begin.... методов классов, если они это поддерживают, либо сам создаешь делегаты и используешь метод делегата BeginInvoke.
4.Используешь один из трех классов Timer из пространств имен System.Threading, System.Windows.Forms и еще какой-то был забыл егою
Самый простой - первый вариант.
void MyFunc(void)
{
Console.Writeln("Hello World!!!");
}
Thread MyThread=new Thread("MyFunc");
MyThread.IsBackGround=true;
MyThread.Start();