ModelService.removeAll() básicamente solo llama a ModelService.remove() para cada Modelo en la Lista (o lo hacía la última vez que lo revisé), lo que significa que está disparando una consulta SQL separada por cada elemento. Si la latencia entre tu servidor de aplicaciones y la base de datos es de tan solo 1 ms, eso significa 1 ms EXTRA por elemento a ser eliminado, sin contar los costos adicionales de procesar consultas separadas.
La forma más rápida que he encontrado para hacer esto es creando un script Batch Mode ImpEx que limpiará la tabla de una manera mucho más rápida. Luego puedes ejecutar este ImpEx (usando el modo legacy) desde tu código y los elementos deberían eliminarse de manera razonablemente rápida.
Gracias, James