É um bug no Npgsql. Acabei de verificar. Foi fixado em 03/10/2e1316c"> , mas não houve uma versão estável desde então. Como está atualmente, você terá que construir a partir de fontes atuais para contornar isso.
Isso é causado por uma combinação do fato de que Socket.Poll() recebe um argumento Int32 microssegundos e pelo que parece ser um bug no próprio Socket.Poll().
Primeiro, 2 horas se converte em -1.389.934.592 microssegundos (7.200 segundos * 1.000.000), cujo valor absoluto é de cerca de 48 minutos.
Em segundo lugar, o Documentação do Socket.Poll() afirma:
Em vez disso, parece converter para o valor absoluto, cerca de 48 minutos, então há seu tempo limite estranho, mas previsível.