Hello.
Isn't this non-stop recursive call to the same function:
public string GetClientsList()
{
try
{
Thread.Sleep(1000);
}
catch (Exception e1)
{
Console.writeline(e1.ToString());
}
return Program.ServerForm.GetClientsList();
}