FRunnable - Am I using it correctly? (Logic Help)

Ok, I should be missing something…

The idea was get the FRunnable working in some condition (Evaluate Dialogue) and at dialogue end call Shutdown( ) as displayed on Rama’s tutorial and “nullify/kill/delete” everything until need further usage. So on next dialogue the FRunnable should be initialized “again”, repopulated and Run( ).

The system works perfectly on the first triggering (getting the new pointer as on Rama’s sample), BUT on the second interaction I got no results, because the Static Singleton Pointer is already valid (what made me confuse since my Shutdown( ) should be nulling it) and so, the new Constructor( ) doesn’t works anymore.

If I repopulate the pointer data I get no results since the Run( ) method doesn’t activates again, and if I try to call Run( ) manually on my second activation the game freezes, Init( ) (trying to “reawake the thread” doesn’t looks like producing any effect.

With all these troubles, I’m starting to think that FRunnables should be used just as additional game systems, meaning they need to be started “with” the game and be killed just on EndPlay( ).

Is this (just one run and one end by gamecicle) the intended usage from FRunnable or do I can use it as something I start/append at will?

Any clarification would be great.

Thank you.