oh got it try this
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostback)
{
loginUserControl.Visible = false;
}
}
Update : you are using multithreading right, i guess that its getting visible false in some other thread, check that