Na verdade, não parece haver muita explicação sobre este assunto, mas os códigos de saída devem ser usados para dar uma indicação de como o tópico saiu, 0
tende a significar que saiu com segurança, enquanto qualquer outra coisa tende a significar que não não saia como esperado. Mas então esse código de saída pode ser definido por você mesmo para ignorar isso completamente.
O link mais próximo que poderia ser útil para obter mais informações é este
Citação do link acima:
Qualquer que seja o método de saída, o inteiro que você retorna de seu processo ou thread deve ter valores de 0 a 255 (8 bits). Um valor zero indica sucesso, enquanto um valor diferente de zero indica falha. Embora você possa tentar retornar qualquer valor inteiro como um código de saída, apenas o byte mais baixo do inteiro é retornado de seu processo ou thread como parte de um código de saída. Os bytes de ordem superior são usados pelo sistema operacional para transmitir informações especiais sobre o processo. O código de saída é muito útil em programas em lote / shell que executam condicionalmente outros programas dependendo do sucesso ou da falha de um deles.
Da documentação para GetEXitCodeThread
Importante A função GetExitCodeThread retorna um código de erro válido definido pelo aplicativo somente depois que o thread termina. Portanto, um aplicativo não deve usar STILL_ACTIVE (259) como um código de erro. Se um encadeamento retornar STILL_ACTIVE (259) como um código de erro, os aplicativos que testam esse valor podem interpretar isso como significando que o encadeamento ainda está em execução e continuar a testar a conclusão do encadeamento após o término do encadeamento, o que pode colocar o aplicação em um loop infinito.
Meu entendimento de tudo isso é que o código de saída não importa muito se você estiver usando threads em seu próprio aplicativo para seu próprio aplicativo. A exceção é possivelmente se você estiver executando algumas threads ao mesmo tempo que dependem umas das outras. Se houver um requisito de uma fonte externa para ler este código de erro, você pode configurá-lo para permitir que outros aplicativos saibam o status do seu thread.