It's often caused by using ShellExecuteEx on a folder with the "open" verb instead of leaving the verb NULL so that the default verb is used.
Sometimes it's caused by things explicitly running explorer.exe instead of using ShellExecuteEx or similar.