1.The problem is generated by the first
FindControl("ContentPlaceHolder1")
call, that cannot find your control, maybe because you are using a wrong control ID.
2.Your placeholder is a server object and you should access it directly like you did in your
GenerateTableOnDelete
method. So you should change your code with problem like this:
Table table = (Table)PlaceHolder1.Controls.FindConntrol("Table1");
if(table != null)
{
}