this.Hide();
Form2 f = new Form2();
f.ShowDialog();
this.Close();
این کد مشکلی نداره درسته ولی وقتی شما showdialog می کنید تا فرم بسه نشه خط بعدی اجرا نمیشه اگه این کد استفاده کنی این مشکلم حل میشه
Form2 f = new Form2();
f.Show();
Close();
استفاده از thread ممکنه تو cpu تک هسته ای سرعت پایین بیاره چون زمان کار cpu تقسیم میکنه به نظر من پایین اومدن سرعت اون کامپیوتر ممکنه از جایی دیگه ای باشه