Nashorn memory leak

Boa Tarde estou usando o Nashorn é o Java 8 para poder processar script JavaScript só que o consumo de memoria esta muito alto alguém tem alguma sugestão de como resolver?

O que você considera como consumo alto?
Quantos MB?

Tem que ver que seu laço instancia muitas String e você também está executando JUnit.

Bom dia, eu disponibilizei 3 GB ele consome tudo até travar a aplicação é normalmente não executa 10% do processo.
Pelo que eu vi o metodo “eval” ele mantém o script processado em cache tem alguma forma de limpar cache ou esse não seria o procedimento correto?

Você realmente precisa internalizar a String?
Quando você faz um intern() o Java vai procurar aquele mesmo valor em um pool interno de String únicas, se já houver essa String no pool, ele vai utilizar aquela, senão vai usar uma nova instância.
No seu exemplo a String é criada a partir do valor do contador, então sempre será diferente, não vejo necessidade do intern().

Além disso, você pode reutilizar um mesmo objeto Bindings para o eval a cada iteração.

Veja se assim não melhora:

Bindings bindings = new SimpleBindings();
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("nashorn");
for (int i = 1; i < 100001; i++) {
    Object resultado = engine.eval(" 1 + " + i, bindings);
    System.out.println(resultado);
}

Obrigado pelo retorno e pela dica do intern(), executando o mesmo problema o loop trava e a memoria continua subindo constantemente como na imagem