Are you guys providing a proper cleanup of unused records on the log such as compacting and proper ref counting of the logs?

Or the entire "5G" is really related to used data.

anyway: It seems you guys relay a lot on serialization. and Serialization "sucks".

If you must use serialization, you should at least make it lazy. Only deserialize-it when touching the record. (replace the byte array payload for the object at the time the user requests it).