Hola. No he usado doctrine pero no sé si el problema es que, si tienes 10.000 registros (por ejemplo) los creas todos de forma que coexistan todos a la vez:
   
Código PHP:
Ver original- $array_de_objetos[$indice] = new MiObjeto ($param1, $param2, ...) ; 
Quizás si sólo creas un objeto a la vez...   
Código PHP:
Ver original- $solo_un_objeto_a_la_vez = new MiObjeto ($param1, $param2, ...) ; 
Es una idea. No estoy seguro de que allí radique el problema. 
Por otra parte. ¿El listado sin filtrar está también sin paginar? 
P. D: He visitado MercadoLibre pero no tengo del todo claro lo que quieres decir