I don't know what you meant by pausable background threads in IPython, but if anyone is trying out - I have had some success with VSCode + IPython:
https://mahesh-hegde.github.io/posts/vscode-ipython-debuggin... -
(you can theoretically pass "reload": true (or similar option) in launch.json for auto reload, tho I haven't felt the need to use that in my workflows.)