register_sidebar ‘after_widget’ on custom-built widgets not implementing, caused nested widgets

It turns out I had overwritten the widget($args) within the widget, hence the before_widget got echoed but not the after_widget.

I renamed the widget($args) variable, and all references to it, then the plugins functioned as expected.