When a featureset is in index mode and RemoveFeaturesAt is called it eventually gets to
public void RemoveShapesAt(IEnumerable<int> indices)
foreach (int index in remove)
But AttributesPopulated is false. so the data table is not maintained correctly.
Shapes are deleted but the corresponding rows are not.
Now call FeatureSet.Save and you will have a file where there are more data rows than shapes.