!str #16263 Made subscription timeout handling run mostly inside the actor

Refs #16263
format of `FiniteDuration.toString` is not that readable, I'd prefer `"after {} ms ", and `timeout.toMillis`