Assuming that your UpdateInsert
function does some database operation and you want to start a thread to not block the user interface while doing it you should try the Async/await approach to asynchronous programming:
public async void UpdateMyThing() {
LoadingIndicator.IsEnabled = true; //or something like that
var query = ...
await Task.Run(() => Functions.UpdateInsert(query));
LoadingIndicator.IsEnabled = false; //we are done
}
This leaves all the threading/waiting/complex stuff for the C# compiler and lets us keep it simple!
Otherwise, it seems there is nothing wrong with your syntax:
new Thread((a) => { }).Start(new object());
This works in my IDE.