Como fazer o gerenciamento correto de memória com o ZODB?

Eu li vários tutoriais do ZODB, mas aqui está uma coisa que eu ainda não entendo: Como você libera a memória que já está serializada (e comprometida) para o (digamos) FileStorage?

Mais especificamente, eu quero que o seguinte código pare de comer toda a minha memória:

for i in xrange(bignumber):
    iobtree[i]=Bigobject() # Bigobject is about 1Mb
    if(i%10==0): 
        transaction.commit() # or savepoint(True)
transaction.commit()

Como isso pode ser alcançado? É possível liberar referências armazenadas pelo iobtree e substituí-las por 'referências fracas' que seriam acessíveis sob demanda?

questionAnswers(1)

yourAnswerToTheQuestion