Xhtml are not controls. Thus, you can't use LoadControl.
What you want, if my understanding is correct, is to include some Xhtml content in the page. The easiest way is to use a Literal control :
protected override void CreateChildControls()
{
var literal = new Literal();
literal.Text = xhtmlContent;
Controls.Add(literal);
}
Do not forget that there is an OOB wepart (content webpart) that allows you to render content, either from a string in the property of the webpart or an url. It may be far less compless to deploy (depending on your needs).
Another thing to take into consideration is the potential script injection attack possible with this code. Can you trust the xhtmlContent content ? If it's a user input, you will expose the SharePoint farm at risk.
A final though. Here it's more a ASP.Net problem than a SharePoint one. You should start by learning ASP.Net as SharePoint requires a deep understanding of ASP.Net internal's.