Vi nas aulas do curso que o instrutor sempre chama o método da instancia da classe DAO e depois fecha a conexão. Ex:
dao.Insert();
dao.close();
Não seria melhor colocar essa chamada dentro do próprio método? Ex:
public void Insert()
{
...
this.close();
}