Невозможно десериализовать JSON, содержащий ключи $ ref

У меня есть следующий код, пытающийся десериализовать строку JSON, и библиотека выдает мне эту ошибку:

Дополнительный контент найден в ссылочном объекте JSON. Ссылочный объект JSON должен иметь только свойство $ ref. Путь 'user.obj', строка 1, позиция 34.

Есть идеи, что не так? (Я понимаю, что это жалоба на второй $ ref, но я не знаю почему.) Какой обходной путь?

void Main()
{
    var s = "{\"user\": {\"$ref\": \"123456\", \"obj\": {\"$ref\": \"123456\"}}}";
    JsonConvert.DeserializeObject<Root>(s).Dump();
}

// Define other methods and classes here
public class Root
{
    [JsonProperty("user")]
    public User User { get; set; }
}

public class User
{
    [JsonPropertyAttribute("$ref")]
    public string Ref { get; set; }

    [JsonPropertyAttribute("obj")]
    public Obj Obj { get; set; }
}

public class Obj
{
    [JsonPropertyAttribute("$ref")]
    public string Ref { get; set; }
}