Previously, the whole block had to be loaded into RAM, then…
Previously, the whole block had to be loaded into RAM, then hex encoded in RAM (which takes twice as much RAM), before it could be sent to the client. With large blocks, this consumes a lot of RAM.