I think (?) it should be possible to delete a timer in its callback BUT
ONLY if you use a block time of 0. Your code sample is using a block
time of 10 which will cause a deadlock if the timer command queue is
full (timer callbacks run in the context of the timer task so if you
block to post to the timer queue there you are also blocking the task
that would otherwise make space in the same queue.