Con un poco de ayuda, encontré la solución en los documentos de Npgsql, aquí .
Npgsql por defecto viene con algunos parámetros de tiempo de espera para la conexión y los comandos. Después de reiniciar Windows, el primer acceso a la tabla fue muy lento, lo que provocó el tiempo de espera del comando.
Con parámetros adicionales en la cadena de conexión, pude cambiar esa configuración más alta y resolver mi problema:
connectionString += ";Timeout=180;Command Timeout=180";
Consejo adicional :una función Postgresql pg_sleep(seconds)
me ayudó a reproducir el problema sin reinicios reales. Muy útil:
SELECT pg_sleep(60);