Problema con SetForegroundWindow en .NET

Estoy usando la API SetForegroundWindow en .NET usando PInvoke.

Cuando uso la API mientras depuro en Visual Studio, funciona perfectamente. Pero no siempre funciona cuando la aplicación se ejecuta normalmente.

Puse algunos registros justo antes de una llamada a SetForegroundWindow y se confirmó que la API está siendo llamada pero que a veces no tiene efecto. También he visto un par de publicaciones sobre este tema, pero quiero saber por qué está fallando.

Los enlaces del post son los siguientes:

Win32 SetForegroundWindow no confiableSetForegroundWindow solo funciona cuando Visual Studio está abierto

Respuestas a la pregunta(4)

Su respuesta a la pregunta