Não consigo ver nada no seu código que o execute duas vezes. Eu diria que está sendo chamado duas vezes. Coloque um ponto de interrupção em
addNewComment
e se ele estiver sendo chamado duas vezes, observe os rastreamentos de pilha para ver de onde ele está sendo chamado em ambas as ocasiões. Talvez você tenha um evento sendo chamado duas vezes, por exemplo. Isso pode acontecer no ASP.NET se ambos tiverem a conexão automática de eventos habilitada e conectaram o evento explicitamente.
A propósito, você definitivamente deve usar consultas parametrizadas não concatenação de strings. Estou assumindo que o comentário é uma entrada fornecida pelo usuário? Nesse caso, você está se preparando para um ataque de injeção de SQL com o código que você mostrou.