I think the explanation may be simple: this.Hide(); hides your Form.
Try:
FolderBrowserDialog fd = new FolderBrowserDialog();
fd.Description = "Please choose";
if (fd.ShowDialog() == DialogResult.OK)
{
txtFolder.Text = fd.SelectedPath;
}
So, a lot depends here on what the "this" in this.Hide(); refers to.