Múltiplas conexões do Hibernate no Firebird

Estou iniciando um sistema usando Hibernate com JPA e banco Firebird. Consegui fazer o Hibernate conectar no banco e executar um SELECT. Porém, observei que toda vez que conecto, 1 nova instância do processo fb_inet_server.exe entra na memória e não sai mais.
As instâncias só são liberadas da memória quando reinicio o Glassfish. O código que estou utilizando é muito simples:

EntityManagerFactory emf = Persistence.createEntityManagerFactory(“DadosMoniEnterprise”);
EntityManager em = emf.createEntityManager();
Query query =
em.createQuery(
“SELECT u FROM UsuarioLoginRetorno u WHERE u.login LIKE :login”);
query.setParameter(“login”, usuario.getLogin());
UsuarioLoginRetorno usuarioRetorno = null;
try
{
usuarioRetorno = (UsuarioLoginRetorno) query.getSingleResult();
}
catch (NonUniqueResultException e)
{
mensagem = “Existe mais de um usuário com este nome!”;
}
catch (NoResultException e)
{
mensagem = “Usuário não encontrado!”;
}
em.close();
emf.close();

Alguém poderia me ajudar?