Timeout program might had signal handler which could be configured by user with --foreground
option.
As you can see at it manual page:
--foreground When not running timeout directly from a shell prompt, allow COMMAND to read from the TTY and receive TTY signals. In this mode, children of COMMAND will not be timed out.