אני חושש
שלסגור ואז להפעיל, זה בלתי אפשרי, כי ברגע שאתה סוגר את התוכנה, "איבדת שליטה" על המחשב, כי התוכנה שלך נסגרה... כמו כן, אני לא רואה סיבה ממשית בשביל מה להתחיל מחדש את התוכנית שלך -- זה סתם מעצבן בשביל המשתמש, לא?
לעומת זאת, אתה יכול להפעיל ואז לסגור. לתת פקודה להפעיל process חדש של התוכנית שלך, ומייד לאחר מכן, לסגור את ה-Process הישן:
System.Diagnostics.Process.Start("myprog.exe"); Environment.Exit(0);