Ich hab etwas am Code geschraubt und eine Datei mit Alternativfunktionen erstellt (stelle ich demnächst zum testen online). Dabei viel mir auf, dass die Seiten immer komplett abgefragt mit "SELECT * FROM $wpdb->posts " ... werden:
function &get_pages($args = '') in template-functions-post.php
Für die Navigationsliste wp_list_pages() ist das absolut übertrieben, da wird normalerweise nur die ID, der Titel und der Name gebraucht. Ich hab den Verdacht, dass deswegen einige Auftritte in die Knie gehen, wenn Wordpress mit viele Seiten als CMS gebraucht wird.
In meinen Hacks will ich dafür eine neue Abfrage schreiben, es braucht aber noch etwas.