Outra ideia, o TimeOut de cada SqlCommand também é controlado individualmente, portanto, você pode controlá-lo com a propriedade CommandTimeOut.
command.CommandTimeout = 120;
No entanto, eu verificaria o plano de execução para ver onde está desperdiçando ou monopolizando recursos de banco de dados, sugiro isso apenas para experiência, não em produção.