Thread operations on UI objects have to be performed on the UI thread. You get the error because you are creating the thread in the base class which calls the derived method init routine.
For each of the textboxes, you should do something like this:
myTextBox.Invoke((MethodInvoker) delegate { myTextBox.Text = string.Empty; });
You can check if invoke is required but if you are running on a separate thread then it will be (use the myTextBox.InvokeRequired to see if you have to do the above).
It begs the question though, do you have so many text boxes on one form that your initialization routine has to be threaded? Why not set them to the defaults in the designer? If it takes that long to initialize your form, maybe you want to think about breaking it up into logical pieces that can be loaded when needed.