I was asking myself the same thing and apparently protobuf has no concept of "null", thus I can see how MessagePack might have an advantage depending on your use case here.
https://github.com/neuecc/MessagePack-CSharp#comparison-with...
https://github.com/neuecc/MessagePack-CSharp#comparison-with...