That's right. It's currently hardcoded to 15MB, but that's simply because it was written before we had large memory allocators working well on most models. If I were to rewrite it, I'd just use fio_malloc for each file, ignoring files larger than some threshold.
In any case, it copies the important files first (autoexec.bin, fonts, modules, user settings, FIR file, everything else from ML dir, any logs from root dir, and some files specific to Toshiba FlashAir cards, if any). If a file is too large, i.e. it doesn't fit into whatever is left from that 15MB buffer, it will be ignored.
Not completely fool-proof, but seems to work well enough in practice.