Hola ecfisa,
Encontre el error del cual no funcionaba la recursividad para lisar archivos,
no es por la profundidad (cantidad de carpetas/subcarpetas hasta el nodo) que sea muy grande, ni que se agote la memoria destinada a la pila, es solo con los nombes de las carpetas.
La recursividad esta bien, me lista todos los archivos, lo probe con discos duros de 1 TB , el cual estaba lleno con 870 GB, y me los listo normal, pero si encuentra una carpeta con un nombre extenso , se cuelga y es en donde ya no funciona el programa.
Un ejemplo de nombre de carpeta el cual no lee es
"F:\\Theme Patcher if not ever made the patches you here" ,
al llegar a leer una carpeta asi, se forma un bucle infinito y es ahí donde se agota toda la memoria, pero en base al nombre de la carpeta, sino funcionaria normal, dejo la imagen del error:
Pude arreglarlo con un try{}catch(...){} por el momento, si puedo omitir ese error por otro método lo posteare para mejorar el código.
Saludos.