Os recursos vinculados ao carregador de classe são mantidos estaticamente até que o EntityManagerFactories seja fechado. Eles são gerenciados por aplicativos, portanto, você deve chamar manualmente close nas fábricas no desligamento ou desimplantar eventos quando não forem mais necessários - a coleta de lixo também pode limpá-los, mas não está ocorrendo antes que o aplicativo seja reimplantado e os acesse novamente com um carregador de classe diferente, resultando na exceção que você vê.
Segure a fábrica e feche-a quando não for mais necessária, ou use injeção e permita que o recipiente gerencie seu ciclo de vida para você.