//private void 閉じるCToolStripMenuItem_Click(object sender, EventArgs e)
//{
// FileClose();
// isDirty = false;
// this.SetAppTitle();
// GC.Collect();
// GC.WaitForPendingFinalizers();
// GC.Collect();
//}

なぜ2回?

あと if (... == true )はやめれ