This is something that most people were already aware of. Unfortunately, Microsoft put themselves in a tough predicament. Windows will probably never be secure. I say this because Microsoft has to make sure their OS is backward compatible to applications that were used to running under an insecure OS model. Each OS they build will have to carry that huge duffel bag of insecurities such as: applications demanding for root access, even when it doesn't need it. Applications that operate too closely to the kernel. Applications that are poorly coded and are severely susceptible to exploits like buffer overruns; which in turn, run as root.
Microsoft's solution is to run all of these applications inside of a sandbox. However, the sandbox runs too closely to the kernel. So, when an exploit is found to the sandbox, the whole system is in jeopardy (are we seeing a pattern here?).
Of course you have a bigger issue on your hands when Microsoft isn't able to keep up with the number of exploits for their system and only release updates on Tuesdays and not when the patches are available. Then you have clueless users who don't even understand what an update is let alone what patches are. All they know is that their application either works or doesn't work.
On top of all I've said, Microsoft likes to tout as if they're the most secure and cheapest OS solution around when, in reality, they're the most expensive and insecure OS solution available. They like to make unfair benchmarks and comparisons with their products versus other products to try to distort the facts. Many people fall for this. Meanwhile, Microsoft rakes in the dough... off of people's ignorance of course. Therefore, Microsoft finds no need to actually make their OS as secure as the competition (lets not even mention Apple).
So, with all of these issues, I really don't see Windows getting any more secure than FreeBSD or Linux.