I found the culprit. The IInsert.Execute call returns an IFeatureReader that has to be disposed. My original code was like this: using (IInsert cmd = ... { ... cmd.Execute(); } I changed it to: using (IInsert cmd = ... { ... IFeatureReader reader = cmd.Execute(); reader.Dispose(); } Steve