I know we need to use Microsoft.SharePoint.Client and Microsoft.SharePoint.Client.Runtime dll's reference in .NET managed CSOM application development. But can someone help me understand why we have to use Microsoft.SharePoint.Client.Runtime and whats it's purpose, in detail. or point me to a reference please. Thank you in advance
The Microsoft.SharePoint.Client.Phone.Runtime.dll contains the ClientRuntimeContext class, which
Represents the runtime context for accessing data from remote objects, and invoking methods on remote objects.
There is a great write-up here. Essentially:
When working with the managed client object model we start with creating a ClientContext class (in Microsoft.SharePoint.Client assembly) and use its Web or Site properties to access server side objects. This class is inherited from the abstract ClientRuntimeContext class (in Microsoft.SharePoint.Client.Runtime assembly). In fact, if you check the methods and properties of the ClientRuntimeContext you should note this class is not really SharePoint-specific, instead it provides general communication functionality. The SharePoint specific features are added via the ClientContext class through its Web and Site property getters that return the value of the Web and Site property of the current RequestContext.
The two links I provided, as well as Reflector mentioned by @robert-lindgren should give you a good understanding of what this class provides.