Index: class/Managed.Windows.Forms/System.Windows.Forms/MenuItem.cs
===================================================================
--- class/Managed.Windows.Forms/System.Windows.Forms/MenuItem.cs	(revision 104775)
+++ class/Managed.Windows.Forms/System.Windows.Forms/MenuItem.cs	(working copy)
@@ -498,8 +498,9 @@
 
 		protected override void Dispose (bool disposing)
 		{
-			if (parent_menu != null)
-				parent_menu.MenuItems.Remove (this);
+			if (disposing)
+				if (parent_menu != null)
+					parent_menu.MenuItems.Remove (this);
 				
 			base.Dispose (disposing);			
 		}
