Le risorse legate al caricatore di classi vengono mantenute in modo statico fino alla chiusura di EntityManagerFactories. Si tratta di applicazioni gestite, quindi è necessario chiamare manualmente la chiusura delle fabbriche in caso di arresto o annullare la distribuzione degli eventi quando non sono più necessari:la raccolta dei rifiuti potrebbe anche ripulirli, ma non si verifica prima che l'app venga ridistribuita e vi acceda nuovamente con un classloader diverso, risultando nell'eccezione che vedi.
Tieni la fabbrica e chiudila quando non è più necessaria, oppure usa l'iniezione e consenti al contenitore di gestire il suo ciclo di vita per te.