Does your UpdateKillstreakHUD have a while/for loop in it with a wait (or waittill) nested inside? If so, try threading the call to that.
Also, why are you storing the killing spree in a .pers variable? That persists over a fast_restart through script, which means a player would respawn with his old killingspree intact.