Schedule(...) - not overwriting as documented

Hub Version: 2.2.4.158

I noticed in one of my drivers that a scheduled task was getting called multiple times, in fact every time it ran another instance ran... The logic I had used the output of the task to schedule the next invocation something akin to below. According to the doc's overwrite is defaulted to true and should cancel the previous schedule and replace it with the new one. I tired explicitly providing overwrite as true - still had incrementally more instances. I worked around it using RunIn and moving another schedule to initialize but wanted to report the anomaly.

def tokenRefHandler {
    ...
    def nextTokenRef = getTokenRefIntervale(token)
    def cronString = ('0 */' + refreshIntervals + ' * ? * *')
    schedule(cronString, tokenRefHandler)
    }