Recently workflows sometimes get stuck in ‘IP’ (In Progress) state, and never reach state ‘DONE’, it seems:

They are mostly started from background jobs.
Some of them are (not on the image above) more than one month old, still stuck.
The same workflow (finUpdateCurrencyRatesForCurrencyTask) always gets executed properly when started online.
What can be done in a situation like this?
version: 23.1.6