En annan idé, TimeOut för varje SqlCommand styrs också individuellt, så du kan styra det med CommandTimeOut-egenskapen.
command.CommandTimeout = 120;
Däremot skulle jag kontrollera utförandeplanen för att se var det slösar eller tär på db-resurser, jag föreslår detta bara för experiment, inte för produktion.