1. нет execute, не совсем понятно как там что
2. Users лучше создавать снаружи, а не внутри метода. про try/finally сказали
3. по областям видимости я так понимаю каша. хотя может так и задумано ну и
4. могут будут сложности с несколькими потоками
В итоге, мы можем вызвать выполнение FLoadUsers.Execute(параметры). И если будет повторный вызов, то старый поток начнет прерывание, а новый будет ждать его и начнет затем работу