In UNiagaraComponentPool::ReclaimWorldParticleSystem, the cleanup loop for WorldParticleSystemPools calls KillUnusedComponents with the reclaimed component's NiagaraSystem (Asset) instead of the system that each pool is actually associated with (Pair.Key).
for (auto& Pair : WorldParticleSystemPools)
{
Pair.Value.KillUnusedComponents(CurrentTime - GNiagaraSystemPoolKillUnusedTime, Asset);
}
This may cause incorrect PoolPrimeSize checks. The second argument should likely be changed from Asset to Pair.Key.