Olá Gabriel, tudo bem?
Ótima pergunta! Quando o Hystrix estoura o timeout, ele realmente retorna um erro ou chama a execução de um método fallback. E, para responder à sua pergunta, o Hystrix também libera a thread para que possa ser utilizada por novas requisições. Isso é possível graças ao uso de programação assíncrona e ao uso de threads separadas para cada requisição.
Dessa forma, o Hystrix consegue gerenciar melhor as requisições e evitar que uma requisição com problemas afete outras requisições. Além disso, o Hystrix também possui um pool de threads dedicado para lidar com as requisições que estouraram o timeout, evitando que essas requisições ocupem recursos desnecessariamente.
Espero ter ajudado a esclarecer sua dúvida! Se tiver mais alguma pergunta, fique à vontade para perguntar.
Bons estudos!