Utilise un Mutex pour éviter que plusieurs instances d'un même programme en cours d'exécution en sécurité?

Je suis en utilisant ce code pour éviter une deuxième instance de mon programme en cours d'exécution dans le même temps, est-il sûr?

Mutex appSingleton = new System.Threading.Mutex(false, "MyAppSingleInstnceMutx");
if (appSingleton.WaitOne(0, false)) {
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new MainForm());
    appSingleton.Close();
} else {
    MessageBox.Show("Sorry, only one instance of MyApp is allowed.");
}

Je suis inquiet que si quelque chose déclenche une exception et l'application se bloque que le Mutex sera toujours tenue. Est-ce vrai?

InformationsquelleAutor Malfist | 2009-03-14