Why do I need to copy data out of memory mapped files to avoid seg faults. This defeats the purpose of memory mapped files. Shouldn't the GC be able to manage it if I keep a pointer into it. I am closing them because the OS has a limit in how many it can open, either way the memory is still there isn't it ?