GoDocument implements IGoCollection which implements IEnumerator. As the .NET documentation clearly states: Enumerators only allow reading the data in the collection. Enumerators cannot be used to modify the underlying collection.
So if you want to remove objects from an IGoCollection, you should do something like:
foreach (GoObject obj in this.Document.CopyArray()) {
if (… obj …) obj.Remove();
}