Yo antes de "liberar memoria" y "cerrar conexiones" incluso vería como son tus consultas SQL a tu BD .. Y no sólo eso .. sino también al própio modelo de datos (tu BD) que estás usando.
Tal vez más normalización .. definición de indices y SQL en general (como usar JOIN (uniones) en lugar de nose.id_tal=nose2.id_tal2) te ayudarían también a optimizar tu aplicación.
Tienes tutoriales sobre todo eso (enfocado a Mysql) en:
www.mysql-hispano.com
Un saludo,