Don't allocate a minimum of 4096 bytes for the output
Actually add a finalizer for the output ByteString instead of leaking it