Seems obvious this has been a conscious choice in order to prevent inclusion into GPL licenced open source software, otherwise why not use a permissive licence like BSD/MIT which would satisfy ALL uses, both in open source and proprietary?
The whole thing which defines MS-PL is that you can take MS-PL licenced code and use it in a proprietary project without supplying source code (like with MIT/BSD), however if you DO supply the source code it must remain under MS-PL (thus viral, unlike MIT/BSD), in other words it was designed to be useful for proprietary projects (which is ground BSD/MIT already cover by being permissive) while preventing it to be used in conjunction with code licenced under GPL by having incompatible terms.
The whole thing which defines MS-PL is that you can take MS-PL licenced code and use it in a proprietary project without supplying source code (like with MIT/BSD), however if you DO supply the source code it must remain under MS-PL (thus viral, unlike MIT/BSD), in other words it was designed to be useful for proprietary projects (which is ground BSD/MIT already cover by being permissive) while preventing it to be used in conjunction with code licenced under GPL by having incompatible terms.