This is a protobuf question and would be better served on that project's lists.
Having said that, unless you're having trouble deserializing the message to retrieve the original bytes, I wouldn't fret over the serialized size of `msg` itself (assuming that's what you were referring to when you said 'msg have two more bytes') being a smidgen larger than its contents. If you're using protobuf 3.x (the major version family that gRPC uses), your fields will be automatically 'optional' (in protobuf 2.x parlance), for example, and their presence/absence thus needs to be noted in the serialization somehow.