Fully agree. It should behave as I said above --- as if you could look at the stack and see the nearest `jl_eval_module_expr`. If there isn't one in the current task, it should look at the last task that ran.
For example, imagine you are just loading one module. During that loading, `jl_current_module` should be set to that module the whole time, no matter what new tasks run during that time. The situation only changes if one of those tasks starts loading a module of its own.