Забелязвам, че отваряте връзки, но не ги затваряте, когато сте готови с тях. Предпочитам подхода на отваряне на връзки, когато са необходими, вместо евентуално отваряне, ако вече не са отворени. Може да са остарели.
Кеширайте низ за връзка но не и самата връзка.
public static string ConnectionString {get;set;}
public static bool InsertRecord(sql)
{
bool success = false;
using (var con = new Connection(ConnectionString)){
var command = new SqlCommand(sql,con);
success = (command.ExecuteNonQuery() > 0);
}
return success;
}
Ресурсите трябва да бъдат освободени, когато вече не са необходими.