I don’t believe eval() is thread-safe. My advice is to use it very, very sparingly - and only in one of the threads. Or bad things may happen.
Oh, and also do not call eval() in a loop, like hundreds or thousands of times - bad things will happen.
You should be fine if you understand and follow what i said above.
But let me underline that the render thread uh, renders 60 times per second. You cannot do eval() at 60Hz if you intend your app to live more than a second or two (like i said, nothing good will happen invoking eval in a loop).
What exactly are you trying to fence with eval() in the RSG thread?! eval() is no excuse for sloppiness in coding and as a rule, “fatal” errors only occur due to errors in your code semantics - not Roku’s.