Otra idea, el tiempo de espera de cada SqlCommand también se controla individualmente, por lo que puede controlarlo con la propiedad CommandTimeOut.
command.CommandTimeout = 120;
Sin embargo, revisaría el plan de ejecución para ver dónde se están desperdiciando o acaparando los recursos de la base de datos, lo sugiero solo para experimentar, no en producción.