Есть несколько возможностей для этого исключения.Но если он прерывистый, то на самом деле есть только один.В вашем коде течет дескриптор окна.Программа может выделить до 10 000 из них до того, как Windows отключит плагин и откажется разрешить ее создание.
Трудно воспроизвести, поскольку подобные утечки занимают некоторое время, чтобы нарастить квоту.Но легко заметить из Taskmgr.exe.Перейдите на вкладку «Процессы», просмотрите + выберите столбцы и отметьте «Объекты пользователя».Соблюдайте этот номер во время запуска вашей программы.Он будет увеличиваться на единицу каждый раз, когда ваше приложение создает новую форму или элемент управления.И должен закрываться при закрытии формы.
К сожалению, довольно легко сделать ошибку, которая вызывает такую утечку.Это происходит, когда вы удаляете элемент управления из формы без вызова его метода Dispose ().Или вызов Controls.Clear () без предварительной утилизации элементов управления.Элементы управления, которые удаляются таким образом, временно размещаются в «окне парковки».С намерением, что он проживет достаточно долго, чтобы позволить вам переместить их в другой контейнер.Если этого не произойдет, то дескриптор окна для элемента управления будет постоянно утек.