That's the issue, lifespan is set to max value under some circumstances. This can depend on the camera's position. Check out the following video if you can and look at the white number == lifespan:
https://i.gyazo.com/8c8a234c67f241fa468d0f8770a0626d.mp4When the particle is rendered 50% transparent (for whatever reason) its lifespan is set to max value each frame, otherwise it's counting down.