You shouldn't need to 'cron' dhclient.
See for yourself : Get the driver name of the dhclient interface used (not WAN but the NIC driver name), for example 'igc0'.
You'll find a file called /var/db/dhclient.leases.igc0 - have a look at it.
dhclient knows when to renew, normally half way the lease duration.
So if the total lease time is 300 seconds, dhclient will renew after 150 seconds.
Totally insane of course, but maybe normal knowing what transport medium is used 😊
The dhclient process stays active during the wait, check :
ps aux | grep 'dhclient'and it 'sleeps' until the delay is over, and it renews.
Normally, dhclient doesn't fail or abort, something that can only happen, I guess, when the interface itself is 'gone'.
Check the Status >System Logs > DHCP for 'dhclient' messages (issues).