InvalidOperationException após remover um elemento em um arrayList [duplicate]

Esta pergunta já tem uma resposta aqui:

Qual é a melhor maneira de modificar uma lista em um loop 'foreach' 11 respostas

Estou tentando remover todos os números que são divisíveis por dois do arrayList.O problema é que, após a remoção de um elemento, recebo uma InvalidOperationExceptio

   private ArrayList RemoveDivTwo(ArrayList list) {
        int count = 0;
        foreach(int i in list){
            if ((i > 2) && (i % 2 == 0)) {
                list.RemoveAt(count); 
            }
            count++;
        }

        return list;
    }

Como resolver esse problema para não receber uma exceção e poder remover todos os elementos divisíveis por doi

questionAnswers(3)

yourAnswerToTheQuestion