Возможно, это не решается при входе в систему, но при выходе пользователя. Это может быть утечка памяти, и выход из системы закрывает процесс, в результате чего окна освобождают память. Я предполагаю, что программы указали несколько приложений, так что это может быть общая библиотека DLL, которая вызывает проблему. Есть ли какие-то сходства в программах? .Net, VB6, Office и т. Д., Или это все на компьютере? Возможно, вы сможете сузить его до общих библиотек.
В течение 6-месячного периода без ошибок система всегда включена и вошла в систему? Если это так, вы можете предложить пользователю периодически перезагружаться, возможно, раз в неделю, чтобы восстановить утечку памяти или память, на которую ссылаются зависшие программы.