It uses the duration timer built into summoning.
Line 68, BladeSpirits.cs
if (Core.AOS)
duration = TimeSpan.FromSeconds(120);
else
duration = TimeSpan.FromSeconds(Utility.Random(80, 40));
BaseCreature.Summon(new BladeSpirits(true), false, this.Caster, new Point3D(p), 0x212, duration);