Im havign an odd problem where a foreach loop that is supposed to delete all records only deletes half of the records.

foreach (Microsoft.Office.Interop.Outlook._ContactItem item in folder.Items)
{
item.Delete();
MessageBox.Show("contact gone");
}

the folder.Items is a MAPfolder ive created in outlook that has contacts inside it.

The loop will only delete half of the contacts from the folder. If I run the method twice, it then removes allof them. Why is this happening?