(D240924) ZFS snapshot check holds and release
The following command will show all snapshots of [pool] (<-replace this with your pool name) that have holds
zfs list -H -o name -t snapshot -r pool | xargs -n1 zfs holds -H
the properties will be listed as property:stuff
with that information we can free the snapshots..
zfs list -H -o name -t snapshot -r pool | xargs -n1 zfs holds -H | awk '{print $1}' | xargs -n1 zfs release property:stuff
(replace 'property:stuff' with whatever is holding your dataset)
..and finally delete them
zfs destroy -r [pool]/[dataset][@snapshot]
source: How to check that all ZFS snapshots within a pool are without holds before destroying that pool