Not exactly sure what was going on, other than cloning of the FileMatch
with its results, since it is recursive I believe this blew up the
stack/heap with unnecessary allocations. By using an iterator and filter
this seemed to greatly reduce memory use and improve speed.