because you're executing the putserv immediatly by encasing it in brackets.
timer 5 [putserv "PRIVMSG $nick :hello, I'm late of 5 minutes"] basically means 'execute the putserv, then execute whatever the putserv returns after 5 mins'. you want something like
timer 5 [list putserv "PRIVMSG $nick :hello, I'm late of 5 minutes"]