Melhor prática para o cliente WCF Duplex

Não posso negar o benefício de desempenho de uma chamada assíncrona duplex, mas algumas coisas me fazem sentir desconfiad

Minha preocupação é que, dado que um objeto cliente é instanciado, o WCF poderá dizer qual instância específica do serviço de cliente receberá o argumento de retorno de chamad

Alguém pode me dizer se é uma boa ideia? Se não, por que não?

new DuplexChannelFactory<IServerWithCallback>(
   new ClientService(), 
   new NetTcpBinding(), 
   new EndpointAddress("net.tcp://localhost:1234/"+Guid.NewGuid()))

Se o caminho virtual acima é reservado, como pode ser descartado. Quero que a vida útil do serviço ao cliente seja bastante curta. O IE faz uma solicitação e recebe uma resposta e, quando terminar de recebê-lo, mate-o. Quão ruim é a penalidade de desempenho ao reduzir a vida útil do serviço ao cliente, em vez de agrupá-lo e mantê-lo vivo por mais temp

A idéia é evitar problemas de tempo limite. Quando terminar de receber, enviar, descarte o mais rápido possível. Por convenção - não é possível transmitir os serviços ao cliente. Se você precisar de informações, crie um novo e simples - assim como EF / L2S etc.

No próprio serviço WCF, como eu mato a sessão com o cliente. ie Não quero que o cliente termine a sessão - sei que posso decorar minha operação adequadamente, mas quero que o serviço seja finalizado programaticamente quando certas condições forem atendida

Posso afixar a porta e encaminhar de acordo para resolver qualquer problema de firewall, mas o que me preocupa é se o cliente está sentado atrás de um balanceador de carga. Como o serviço saberia qual servidor específico chamar?