Once we subscribe to device status via SubscribeDeviceStatus API, how to read device status from it. Is it a pull or a push mechanism

Can you have a look at the StatusDemoConsole sample? This sample works on auto-generated classes of the Soap protocol, so you can learn from the sample how it could be put together.

(StatusDemoConsole, StatusSessinConsole, SystemStatusClientConsole are Status API samples in this way.)