Un'altra idea, anche il TimeOut di ogni SqlCommand è controllato individualmente, quindi puoi controllarlo con la proprietà CommandTimeOut.
command.CommandTimeout = 120;
Tuttavia, controllerei il piano di esecuzione per vedere dove sta sprecando o monopolizzando le risorse del database, lo suggerisco solo per esperimento, non per la produzione.