If you run PowerShell from a cmd.exe window created by Powershell, the 2nd instance no longer waits for jobs to complete. The 2nd instance is a child of a win32 job as reported by Process Explorer.
I discovered this when my C# Explorer program is used to open a cmd.exe window and PS is run from that window, it also ignores the -Wait request. It appears that any PowerShell which is run from a cmd.exe which is a 'win32 job' fails to honor the wait request.
I ran into this with PowerShell version 3.0 on windows 7/x64