I have wanted only to remove one column and not all of them and faced this problem. The way to fix this was by doing a ToList() in the foreach like so:
foreach
(var column
in
GridQueue.Columns.ToList())
{
GridQueue.MasterGridViewTemplate.Columns.Remove(column);
}
Hope it helps others.
Carlitos