Muitos comentários, mas ainda sem resposta. Aqui está uma tentativa rápida ...
Eu diria que isso depende do que seus tópicos estão fazendo. Você pode ter centenas de tópicos, mas se a grande maioria deles estiver apenas esperando, eles não incorrerão em muita sobrecarga. Por outro lado, se você estiver fazendo computação, eu limitaria o número de encadeamentos ao número de núcleos. Você não terá mais velocidade de computação extra do que agendar mais. Além disso, nesses casos, talvez você queira examinar o paralelismo de tarefas como uma alternativa.
Se o seu código é uma mistura de espera e processamento, a resposta é menos clara. Além de várias estratégias que você pode adotar para acelerar as coisas, sua melhor aposta nesse caso é fazer o perfil para encontrar um número ideal.