Estávamos enfrentando o mesmo problema com o RxJava, o aplicativo estava funcionando bem, mas depois de algum tempo, nenhuma conexão pôde ser adquirida do pool. Após dias de depuração, finalmente descobrimos o que causou o problema:
redisTemplate.setEnableTransactionSupport(true)
de alguma forma fez com que o spring-data-redis não liberasse as conexões. Precisávamos de suporte a transações para MULTI / EXEC, mas no final alteramos a implementação para nos livrarmos desse problema.
Ainda não sabemos se isso é um bug ou uso errado do nosso lado.