JSON.NET StackOverflowException durante a serialização

Meu programa C # está executando o StackOverflowException, quando tento serializar o objeto com uma estrutura semelhante como esta:

O objeto possui membros que se referem um ao outronão pode ser experimentado (idk porque)se a contagem for definida abaixo de 6500 (pode variar dependendo da máquina), ela será serializada com êxito

Exemplo de código abaixo:

class Chacha
{
    public Chacha NextChacha { get; set; }
}    
public static readonly JsonSerializerSettings Settings = new JsonSerializerSettings
{
    TypeNameHandling = TypeNameHandling.All,
    PreserveReferencesHandling = PreserveReferencesHandling.Objects,
    ReferenceLoopHandling = ReferenceLoopHandling.Ignore
};

static void Main(string[] args)
{
        int count = 15000;

        Chacha[] steps = new Chacha[count];
        steps[0] = new Chacha();

        for (int i = 1; i < count; i++)
        {
            steps[i] = new Chacha();
            steps[i-1].NextChacha = steps[i];
        }

        string serSteps = JsonConvert.SerializeObject(steps, Settings);
}

A versão do JSON.NET é: 9.0.1
.NET Framework: 4.5.2
Alguma solução como serializar essa estrutura?

Qualquer ajuda ou sugestão é bem-vinda. Obrigado

questionAnswers(1)

yourAnswerToTheQuestion