Your "get" is returning LButton, so will go into the same get and so on. If you have a LinkButton you're trying to return then your property has to be called something other than LButton.
<asp:LinkButton ID="MyLinkButton" runat="server" />
public LButton {get {return MyLinkButton;} }
Or if you just want to create a property called LButton on the master page you will use elsewhere just use
public LinkButton {get;set;}
However it is best practise to not expose controls like this but to set up properties for the values you want to change, so have a string property called "ButtonLabel" or something, and the master page updates the LinkButton when the property is set.