Se ocorrer um erro 500, isso indica um problema no servidor da web. A F5 simplesmente encaminhará esse erro para o cliente de conexão. Ele não "reenviará" o pedido por conta própria. A única maneira de isso acontecer é se o cliente tentar novamente a solicitação. Nesse ponto, essa solicitação poderia ser balanceada para outro membro do pool, embora não haja garantia e seria baseada na persistência ou no método de balanceamento de carga usado (round robin, menos conexões, etc.).
Em resumo, a menos que você tenha uma iRule muito louca no seu F5, esse é um comportamento causado pelo próprio script.
(Nota: Eu fui Engenheiro de Suporte da Nework para a F5 por um ano e meio trabalhando com o LTM)