Не съм тествал, но се чудя дали имате същия проблем, ако сте използвали TransactionScope с опциите на IsolationLevel.ReadUncommitted. Ще трябва да капсулирате пълния си набор от обаждания и това трябва да отмени необходимостта от това изявление. Разбирам, че това твърдение не е основната ви грижа, а като цяло.
Друго нещо, което можете да направите, е да създадете клас DBConnectionScope (или да използвате клас на доверен доставчик) и да намалите общия брой връзки, които се отварят.