¿Cómo resolví el error de referencia circular de serialización de Json?

Hay postaquí que pregunta cómo resolver el error de referencia circular al devolver un objeto serializado a través de EF4 CTP5. Me encontré con este mismo problema con un proyecto de formularios web WCF hace un tiempo.

Pude "resolver" este problema en mi proyecto de formularios web / WCF y en mi proyecto MVC3. No creo que importe qué tipo de proyecto, ya que parece ser una "cosa" de serialización EF.

Resolví el problema deshabilitando ProxyCreation en mi constructor ObjectContext así:

public class MyObjectContext : DbContext, IDbContext
{
     public MyObjectContext(string connectionStringName) : base(connectionStringName)
     {
        ((IObjectContextAdapter)this).ObjectContext.ContextOptions.ProxyCreationEnabled = false;
     }
     public DbSet<Product> Products {get;set;}
     //etc.
} 

Mi pregunta es: ¿Alguien podría explicar por qué esto aparentemente resolvería el problema?

Creo que el problema tiene que ver con las propiedades de navegación en mis POCO, pero después de eso estoy perplejo. Gracias.

Respuestas a la pregunta(3)

Su respuesta a la pregunta