This is a well known problem with the listFiles example and has been around for more than a year.
In general memory is lost unless a File object is closed before doing another open.
This is due mostly to poor design of the SD.h wrapper for SdFat.
Maybe at some point the Arduino company will fix it.
You can find many posts about this problem in the forum.