Стоит начать с вопроса: это десктоп приложение или веб?
Если первое, то лучше что-то типа:
class StaticClass
{
static StaticClass() {
AppDomain.CurrentDomain.ProcessExit +=
StaticClass_Dtor;
}
static void StaticClass_Dtor(object sender, EventArgs e) {
// clean it up
}
}
Если веб, то выпиливайте ваш класс к чертям. :)
ЗЫ: а вообще использование синглтонов для работы с БД - зло. Лучше юзать какой-нибудь ORM, тот же Entity Framework альбо NHibernate.