Consider checking the workflow.. is it set to reevaluate, because if yes, then Time-dependent actions aren't executed for a reevaluated workflow rule in the following situations:
The reevaluated workflow rule’s immediate actions cause the record to no longer meet the workflow rule criteria.
An Apex after trigger that is executed as a result of a workflow or approvals action causes the record to no longer meet the workflow rule criteria.
To further clarify check this link.
Time Trigger Processing
Time-dependent actions aren’t executed independently. They’re grouped into a single batch that starts executing within one hour after the first action enters the batch.
Note NOTE Actual execution may be delayed based on service
Apex triggers that fire as a result of time-dependent actions may get executed in a single batch or independently.
Follow these best practices:
In case they fire independently–Ensure that your Apex logic is scoped
for a single scheduled action. For example, don't use Apex static
variables to communicate state across Apex code triggered by
different scheduled actions.
In case they fire in a single batch–Be aware of how the combination
of your time-dependent actions and Apex triggers impact your Apex
I hope this helps.