buffer protocol itself does not support this - so no, this is not an error. In fact, XmlSerializer and DataContractSerializer * will do the same (and probably it will be JavaScriptSerializer and JSON.NET).
However, this is a general request, so this one is supported in protobuf-net v2 (basically: I'm cheating). Just change it to:
[ProtoMember(3, AsReference=true)] public Address Address { get; set; }
(and use the v2 dll, which I download in about 5 minutes or create from code)
* = caveat: DataContractSerializer supports links, but only if you use a specific constructor; it is disabled by default.
source share