Python ficando sem memória ao analisar XML usando cElementTree.iterparse

Uma versão simplificada da minha função de análise XML está aqui:

import xml.etree.cElementTree as ET

def analyze(xml):
    it = ET.iterparse(file(xml))
    count = 0

    for (ev, el) in it:
        count += 1

    print('count: {0}'.format(count))

Isso faz com que o Python fique sem memória, o que não faz muito sentido. A única coisa que estou armazenando é a contagem, um número inteiro. Por que está fazendo isso:

Veja essa queda repentina na memória e no uso da CPU no final? Esse é o Python travando espetacularmente. Pelo menos me dá umMemoryError (dependendo do que mais estou fazendo no loop, isso gera mais erros aleatórios, como umIndexError) e um rastreamento de pilha em vez de um segfault. Mas por que está falhando?

questionAnswers(2)

yourAnswerToTheQuestion