Dicionário de serialização / desserialização de objetos com JSON.NET

Estou tentando serializar / desserializar umDictionary<string, object> que parece funcionar bem se o objeto é do tipo simples, mas não funciona quando o objeto é mais complexo.

Eu tenho essa classe:

public class UrlStatus
{
 public int Status { get; set; }
 public string Url { get; set; }
}

No meu dicionário eu adiciono umList<UrlStatus> com uma chave de "Cadeia de redirecionamento" e algumas cadeias simples com as teclas "Status", "URL", "URL pai". A string que estou retornando do JSON.Net fica assim:

{"$type":"System.Collections.Generic.Dictionary`2[[System.String, mscorlib],[System.Object, mscorlib]], mscorlib","Status":"OK","Url":"http://www.ehow.com/m/how_5615409_create-pdfs-using-bean.html","Parent Url":"http://www.ehow.com/mobilearticle35.xml","Redirect Chain":[{"$type":"Demand.TestFramework.Core.Entities.UrlStatus, Demand.TestFramework.Core","Status":301,"Url":"http://www.ehow.com/how_5615409_create-pdfs-using-bean.html"}]}

O código que estou usando para serializar se parece com:

JsonConvert.SerializeObject(collection, Formatting.None, new JsonSerializerSettings 
{ 
 TypeNameHandling = TypeNameHandling.Objects, 
 TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple 
});

para desserializar o que estou fazendo:

JsonConvert.DeserializeObject<T>(collection, new JsonSerializerSettings
{
 TypeNameHandling = TypeNameHandling.Objects,
 TypeNameAssemblyFormat = System.Runtime.Serialization.Formatters.FormatterAssemblyStyle.Simple, 
});

O dicionário volta bem, todas as seqüências voltam bem, mas a lista não é desserializada corretamente. Apenas volta como

{[
  {
    "$type": "XYZ.TestFramework.Core.Entities.UrlStatus, XYZ.TestFramework.Core",
    "Status": 301,
    "Url": "/how_5615409_create-pdfs-using-bean.html"
  }
]}

É claro que posso desserailizar essa string novamente e obtenho o objeto correto, mas parece que o JSON.Net deveria ter feito isso por mim. Claramente, estou fazendo algo errado, mas não sei o que é.

questionAnswers(1)

yourAnswerToTheQuestion