Вы можете использовать Parallel.Invoke(Action[])
Что-то вроде:
Parallel.Invoke(unitTest1.method1(), unitTest1.method2())
Теперь method1 и method2 должны выполняться параллельно, примерно в одно и то же время.
Причиной, по которой кажется, что method2 никогда не выполняется, может быть thread.sleep(40000)
в method1 в цикле for.Method2 должен ждать 40 * 100 = 4000 секунд для завершения method1.Вы уверены, что вам нужны эти методы thread.sleep ()?