Basicamente você tem 2 lugares para duplicar linhas se seu ASP estiver correto:
1) SQL está errado (Provavelmente você tem que usar o operador DISTINCT)
2) O código C# está errado (Provavelmente você precisa verificar sua fonte de dados)
Verifique seu SQL pls. E compartilhe seu código C# conosco.
Usa isto
SELECT distinct category_name, thread_category_id, threadCount
FROM
( SELECT categories.category_name, threads.thread_category_id, COUNT(*)
AS 'threadCount' FROM threads
INNER JOIN categories ON categories.category_id = threads.thread_category_id
GROUP BY categories.category_name, threads.thread_category_id ) A