I have a an application that requires threading in most cases. Most of the time I will encounter errors or wrong values because the object was updated prior to its execution
Basically, you'll need to use a mutex. In .NET every object can act as a mutex, so you can use the lock keyword on any object to ensure mutual exclusions.