I solved this.
I combed through source code, and it just seems like when you delete an actor from the level, it’s presence is still referenced… probably for the sake of the undo stack.
Because of that, actors-as-items in a utility widget running at design time will crash the editor every time because you end up with a duplicate item entry in ItemToWidgetMap but not in the WidgetToItemMap and GeneratedWidgetsblahblah list.
To solve this, I made a data object that only holds a reference of the actor it represents… I instantiate and pass these objects to the listview as items. During EventOnListItemObjectSet, the object passes its reference of the actor to the list item widget so that it can populate all the informational widgets.
The actor handles all its own original data.
The proxy object simply acts as a stand-in or handshake.
Works like a charm… and exposes that the listview widget seems to work in utility widgets as intended if it weren’t for this special behavior in level actors.