Actor not getting destroyed

// Spawn effects
UNiagaraSystem* NiagaraSystem = nullptr;
if (!ExplosionParticleSystem.Get())
    ExplosionParticleSystem.LoadSynchronous();
NiagaraSystem = ExplosionParticleSystem.Get();
if (NiagaraSystem)
    UNiagaraFunctionLibrary::SpawnSystemAtLocation(GetWorld(), NiagaraSystem, GetActorLocation(),
        GetActorRotation(), GetActorScale3D(), true, true);

// Destroy
bool bDestroyed = Destroy();

This actor is not getting destroyed even after calling this function again and again.