Prefab is set InActive when ParticleSystem.Play()

I have a prefab “cube” which contains a simple particle system.

I have it exposed as
Public ParticleSystem SuccessParticles {get;set;}

in my code I call cube.SuccessParticles.Play();, and the particle system plays fine, but as soon as it is finished my cube’s Active state is set to false.
The same thing happens when I set “PLay on Awake” to true.

I wonder if you can tell me what I’ve done incorrectly?

This is typical of my code which starts my animations:

bool success = true;
foreach (var cube in WIDTH) // WIDTH is a List
{
if (cube.SudoValue < 0) // if is a hole
success &= cube.UserValueIsValid;

}
if (success)
{
foreach (var cube in WIDTH)
{
cube.SuccessParticles.Play();
}
}