memcpy(errors, errorsNext, left->size * sizeof(double));
errors = errorsNext;
Он стал хуже после использования этих команд
autotuning=normal
netsh int set global dca=disabled
netsh int tcp set global netdma=disabled
netsh int tcp set global rss=disabled
netsh int tcp reset
netsh int ip reset
Могут какие-то фоновые процессы запускаться шедулером, отрубающие пользовательские сеансы, может сеанс отваливаться из-за простоя, может вы какого-то зловреда поймали.
В Вин10 нет настроек в интерфейсе, отвечающих за таймауты простоя, но реально они есть. Обычно по умолчанию в Вин10 все таймауты простоя выключены. Но возможно у вас не тот случай. Не скажу есть ли эти настройки в локальной политике безопасности, но все это в любом случае хранится в реестре. Погуглите ключи реестра и посмотрите что у вас там.
Стоит начать с пристального просмотра журнала системы перед завершением сеанса. И не только по событиям от RDP. Возможно что-то наведет вас на виновника такого поведения.