Caros,
Caso estejam utilizando o Mocha 4 e estranhem que o mesmo não encerra sua execução mesmo após validar todos os testes, saibam que se trata de uma feature e não um bug (haha, é isso mesmo);
De acordo com os release notes da versão 4:
(https://boneskull.com/mocha-v4-nears-release/#mochawontforceexit)
"To avoid false positives and encourage better testing practices, Mocha will no longer automatically kill itself via process.exit() when it thinks it should be done running. If the mocha process is still alive after your tests seem "done", then your tests have scheduled something to happen (asynchronously) and haven't cleaned up after themselves properly. Did you leave a socket open? Supply the --exit flag to use pre-v4 behavior. If you're having trouble figuring out where the hangup is, this package might help."
resumindo, ao executar o Mocha, insira a flag --exit e o problema deve acabar, isso pode acontecer por várias razões mas, os mais curiosos, podem depurar o problema usando a ferramenta "Why-Is-Node-Running", link abaixo:
(https://www.npmjs.com/package/why-is-node-running)
Espero que essas informações ajudem alguém, abraços!