Indefinite Timers Dropping Length?

We have code that just calls basic autosave stuff. Just calls a concommand, tells the player it saved, then waits another 5 minutes.

timer.Create( "autosave", 300, 0, function()
	LocalPlayer():ChatPrint("Heeeyyy!  Autosaved.")
end )

After it’s first run, it just explodes and calls every tick. It’s insane. Anyone know what’s up?

[editline]1st November 2012[/editline]

Just letting you guys know I found the problem:

garry broke timers, wait for him to fix it

Dammit Garry! These patches need more testing.