Foreach does not allow the manupulation of the collection. Try for loop as shown.
for(int x=0; x < lstSelectPages.Items.Count;x++)
{
if (lstSelectPages.SelectedItem == lstSelectPages.Items[x])
{
lstSelectPages.Items.RemoveAt(x);
lstSelectPages.DataBind();
}
}