As you can see, all house keeping / setup is done on a central place in the constructor.
You can subsequently run the thread with suspended = false as you intended, because of the way I set up the thread.
It is rather obvious: It prevents you from modifying a running thread! Which is essential.
If you look at my code you see I solved both your mistakes:
1. Inherited first, then the properties
2. You can now create the thread with suspended = false in a safe manner, because during the setup the thread is not started yet. and it still starts immediately after create.