¿Qué hace exactamente ReferenceLoopHandling.Ignore en Newtonsoft.json?

¿Alguien me puede presentar un escenario donde se puede utilizar. Lo que entiendo porReferenceLoopHandling.Ignore es si tiene un objeto A que hace referencia al objeto B y B hace referencia a C y C nuevamente a A (A-> B-> C-> A), luego, al serializar, terminará en un bucle sin fin entre C y A, que se puede evitar utilizando a continuación. Estoy en lo cierto?

 JsonConvert.SerializeObject(data, 
     Formatting.Indented, 
     new JsonSerializerSetting()
         {
             ReferenceLoopHandling = ReferenceLoopHandling.Ignore 
         } 
 ));

Estoy teniendo un problema de bucle de auto referencia que se resuelve utilizando lo anterior, pero quiero entender exactamente lo que está haciendo, ya que la línea anterior es la carne de la aplicación (carne crítica)

Respuestas a la pregunta(1)

Su respuesta a la pregunta