I switched over from YamlDotNet to SharpYaml to investigate shortcomings of YamlDotNet is improved, but I can no longer set the Alias for a property in an object I declared as I did with YamlDotNet, like this:
public class MessageObjectRef : IMessageObject {
[YamlMember(Alias = "$ref")]
public string Ref { get; set; }
}