indubbiamente il problema succede perché quella parte di codice viene ripetutamente chiamata

prova a metterci un debug_print_backtrace() subito dopo l'apertura della funzione cosi da vedere lo stack delle chiamate