Memory leak with quantum and processing binary files

That is probably because of Enum.map, depending on what it does exactly, it will force the full stream.

Also if you keep references to binaries in that Enum.map instead of using :binary.copy/1 as suggested, you might keep all the lines in memory until the sub references get collected.

But overall, this is hard to say without knowing how you process the chunks…