You can not access any control in the DoWork method. If you want to access any control (say changing the text of a label, setting progress bar value etc.). it can be done only in ProgressChanged or RunWorkerCompleted methods.
From your code, it is obvious that you are changing the text of a label in the DoWork method.
label1.Text = "BackGroundWorker Started.";
It is not allowed.
I suggest you to move this step just before Worker.RunWorkerAsync() in button1_Click.
As a rule of thumb, remember that you can't deal with any control in the DoWork method.
What estys has suggested is also correct. In that case you simply invoke the property of a control that you want to change.
Hope this helps you.
All the best.