I didn’t really like the configurable 1 second timeout before the particle gameobject was destroyed. Reason for this is that when you would (for some reason) increase the lifetime of the efect to something larger you would have to remember to change the 1 second.
A (I believe) neater solution would be to use the actual max lifetime of the effect. This can be found using:
explosion.GetComponent<ParticleSystem>().main.startLifetime.constantMax