using (SQLiteConnection conn = new SQLiteConnection("Data Source=C:\test.db")){
  conn.Open();
}
は

try{
  SQLiteConnection conn = new SQLiteConnection("Data Source=C:\test.db");
  conn.Open();
}
finally{
  conn.Dispose();//Closeかも
}
って意味ね

だから今回の例でusing(try-finally)しちゃうとOpen後に即Closeされるよ
Open時のエラーを捕まえたいなら普通にtry-catchでいい