I got an answer from one of my colleagues in my company. This was his reply:
You get the NULL specifically because it is a lazy property. You cannot include a lazy property in WQL select query. You must use an asterisk (*) and then parse the object.
To know more about lazy properties and how to read them please follow the below mentioned link:
http://msdn.microsoft.com/en-us/library/jj218055.aspx
The property SupportedOperatingSystems has been defined as lazy in the MSDN documentation as mentioned below :