Как правильно создать >=1000 потоков?
Если у Вас компьютер не 1000 ядерный, вам нужны не CPU bound потоки, а IO bound потоки. Поищите асинхронные методы в вашем PostgesQl провайдере (скорее всего они с приставкой Sync)
Макс Максимов, посмотри сколько одновременных соединений разрешено у БД. Если мало, то увеличь.
https://stackoverflow.com/questions/30778015/how-t...
Так же почитай документацию на драйвер: www.npgsql.org/doc/connection-string-parameters.html
Тебя должно интересовать Pooling. Попробуй так же увеличь количество зарезервированных подключений.
Pooling=true;Min Pool Size=0;Max Pool Size=1000;
Помониторь на каком потоке происходит исключение, узнай его индекс. Добавь временную переменную или как угодно отследи его. Если вылетает на одном и том же или +-, то скорее всего смотри начало ответа).