This is not an answer, but an observation, code seems to work fine.
I have changed the tools (to some dummy function) and model, rest is same.