Работа в много потоке с SerialPort c#
проблема такая, пытаюсь сделать многопоточную обработку comPorts на устройстве Использую async/await Task и под каждый порт создаю свой Task. Делаю цикличный опрос каждого порта, но проблема в том что когда портов много что-то происходит с оборудование толи перестаёт отвечать или ещё что-то, по системной ошибке смог выяснить что проблема с драйверами или с тем что, устройство не отвечает, Windows уходит в синий экран и перезагружает пк.
По другого производителя с этими устройствами в многопоточном режиме работает корректно.
При этом паузы await Task.Delay повсюду как можно больше Я пробовал запускать опрос портов в 1 поток всё работает корректно, перебрал уже весь код по косточкам, не могу понять причину. Хочу сделать очередь для обращения к Serial Port, но не знаю как лучше это реализовать, возможно нужен класс где будет single Queue и какой-то метод который будет обрабатывать эту очередь и отправлять данные в ком-порт. Но тогда получается узкое место и как после выполнения этой задачи вернуть её в тот же поток где её добавили в очередь, не понимаю. Может кто-то предложит более красивый вариант?