async/await uses ThreadPool under hood. So if you want to copy file and hide proggress bar you can use tis code
public delegate void InvokeDelegate();
private void CopyFiles()
{
....
}
public void HideProgressBar()
{
...
}
void CopyFilesAsync(object sender, EventArgs e)
{
ThreadPool.QueueUserWorkItem(x =>
{
CopyFiles();
BeginInvoke(new InvokeDelegate(HideProgressBar));
});
}