First off, 5 minutes is not a "big delay".
A 5 minute delay could easily be mopped up in timetabled dwell time or allowances.
Second, the systems need to actually receive a notification the train is 5 minutes late. If it gets stuck between two reporting points, it won't report that it's now 5 minutes late (or, potentially, now 57 minutes late) until that second reporting point is passed.
You could base the system on expected arrival - eg "if this train expected to hit a reporting point 5 minutes ago, but hasn't yet, then send the alert". However, the reporting point might not be working properly and the train is actually on time. This method is also much more resource intensive - you need a system checking every rain's passage through every reporting point, compare it to the timetable in use at the time, including short notice trains, and do lots of simultaneous calculations before sending the alert.
TLDR - It's very hard to do this in real time to be good and solid enough to be useful to customers.