I'm having difficulties using
json = JsonConvert.SerializeObject(ins /*LIST*/, Formatting.Indented,
PreserveReferencesHandling = PreserveReferencesHandling.Objects,
DefaultValueHandling = DefaultValueHandling.Include,
ObjectCreationHandling = ObjectCreationHandling.Auto
I don't understand your example, but it looks like this is happening because you're using
PreserveReferencesHandling.Objects. If you look at the JSON, you will probably see
$ref references in it referencing the objects that have already been serialized.
You could walk the data in your JSON consumer to resolve these references, but you can prevent this behavior by using
PreserveReferencesHandling.None. However, this may cause a problem if your .NET objects have circular references. If that is a possibility, you may need to weigh these two options and find the one that's easier for you to solve.