I wanted to also disconnect the pipe for traffic out of the module to the shell but the TeeMerge on the shell doesn't have a "disconnectFitting" method.
Just remove the output pipe from the module's Junction (from within the module obviously). This means that before you disconnect the pipe going from the shell to the module, you need to send a message to the module telling it to disconnect its output to the shell first. Then disconnect the shell output to that module and your module is completely disconnected.
This leaves the loose pipe connected to the shell's TeeMerge, but that's no big deal; nothing's going to be sent to it and since it's an input pipe (from the shell's perspective) there's no danger of write errors. The module will no longer have a reference to it and so it can be GC'd (assuming all other references have been cleaned up).