Tôi chưa thử nghiệm, nhưng sẽ tự hỏi liệu bạn có gặp vấn đề tương tự không nếu bạn sử dụng TransactionScope với các tùy chọn của IsolationLevel.ReadUncomished. Bạn sẽ phải đóng gói tập hợp các lệnh gọi hoàn chỉnh của mình và điều đó sẽ phủ nhận sự cần thiết của câu lệnh này. Tôi nhận thấy rằng tuyên bố này không phải là mối quan tâm cơ bản của bạn, mà nói chung.
Một điều khác mà bạn có thể làm là tạo lớp DBConnectionScope (hoặc tận dụng lớp của nhà cung cấp đáng tin cậy) và cắt giảm tổng số kết nối được mở.