The documentation on this is available here: http://james.newtonking.com/projects/json/help/html/SerializationSettings.htm
As of this writing, the behavior is described there as follows (with emphasis mine):
ReferenceLoopHandling.Error
: By default Json.NET will error if a
reference loop is encountered (otherwise the serializer will get into
an infinite loop).
ReferenceLoopHandling.Ignore
: Json.NET will ignore objects in
reference loops and not serialize them. The first time an object is
encountered it will be serialized as usual but if the object is
encountered as a child object of itself the serializer will skip
serializing it.
ReferenceLoopHandling.Serialize
: This option forces Json.NET to
serialize objects in reference loops. This is useful if objects are
nested but not indefinitely.