How to delete faces with only one edge connected to mesh?
Bmesh script.

There may be a way via one of the selection items in the UI, however will propose a script solution
Selecting
Run over all faces in the edit mesh, and if all face edges, or all but one face edge are boundary select the face.
import bpy
import bmesh
from bpy import context

ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)
for f in bm.faces:
    f.select_set(len([e for e in f.edges if e.is_boundary]) &gt;= len(f.edges) - 1)
bmesh.update_edit_mesh(me)

Deleting
Similarly, while there are faces, find the &quot;tabs&quot;, and if any remove their boundary edges, repeat until can find no more, or all faces removed.
import bpy
import bmesh
from bpy import context

ob = context.edit_object
me = ob.data
bm = bmesh.from_edit_mesh(me)
while bm.faces:
    faces = [f for f in bm.faces if (len([e for e in f.edges if e.is_boundary]) &gt;= len(f.edges) - 1)]
    if not faces:
        break

    edges = list(set(e for f in faces for e in f.edges if e.is_boundary))
    bmesh.ops.delete(
            bm,
            geom=edges,
            context='EDGES',
            )
bmesh.update_edit_mesh(me)