به تجربه من
همیشه از این استفاده کن تا در شبکه با مشکل بر نخوری؟using تا خودش در انتها کانکش را ببنده
using (SqlConnection connection1 = new SqlConnection(connectString1))            {



برای اینکه از چندتا کویری که پشت سر هم اجرا بشن و کارهایشون به هم وابسته باشه از یک تابع ای جداگانه استفاده کن که Transaction در ابتدا تعریف بشه و در انتها Commit و Rollback اجرا بشن در برنامه شما لایه پایین تون هم اگر بخواهین چندتا کوئری که کارهایشون به هم وابسته باشن میتونید از سمپل بالا که برای MSDN هست کمک بگیرید