Jag har inte testat, men skulle undra om du har samma problem om du använde ett TransactionScope med alternativen för IsolationLevel.ReadUncommitted. Du skulle behöva kapsla in din kompletta uppsättning samtal och det borde förneka behovet av detta uttalande. Jag inser att detta uttalande inte är din grundläggande angelägenhet, utan i allmänhet.
En annan sak du kan göra är att skapa en DBConnectionScope-klass (eller utnyttja en betrodd leverantörs klass) och minska det totala antalet anslutningar som öppnas.