Aparentemente, o Windows tem algo chamado "Desktop Heap", que é por padrão 3 MiB. Informações sobre coisas como HWND
s (janelas, botões, texto, caixas de edição, caixas de seleção, botões de opção, o nome dele) são armazenadas aqui - se você esgotar isso, não poderá criar mais o Windows e, portanto, pare de correr.
Este é um limite definido - nada de útil como expandir a pilha acontece. Felizmente, é reconfigurável, ao custo de uma reinicialização. É um ajuste de registro para HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Gerenciador de sessão \ SubSystems \ Windows.
Se você precisa saber se é isso que está afetando você, obtenha a ferramenta dheapmon
da Microsoft, disponível aqui:
link
Um artigo melhor sobre como executá-lo:
Por fim, como ajustar essa chave de registro para que as coisas funcionem: