Nice one, you should implement Wiper's features in this so on C# It could be faster.
Also, becareful, the player is not always online after the timer ends:
https://github.com/salvadj1/Decay/blob/master/DecayClass.cs#L160
if (player.IsOnline) { }
Be sure to due that or you may cause RPC...