Q:

OO Inheritance concept - Can we inherit private methods and use them? 

Let's say in ASP.NET you have a base page class which defines a private Page_Load method which handles Page. Load.  All aspx pages in your project inherit from this base page class.  In this case the aspx pages would be able to call this private method.  However it does not feel right that private methods can be called outside its own class?  If so, privates methods cannot be hidden from outside?  Can someone explain it? 

A:

Not private methods but protected methods.  That's exactly what that keyword is for. 
You can read up on the different access modifiers here, and on the protected keyword in particular here. 
However, the way you're planning to use it, a neater structure would probably be to make the base class method a virtual method, so that you can override it in other methods and call base. Page_Load from there.