Depth First Tag Browse is hanging

Not sure the reason for your slow browse, but there is a time out on the browse function to stop it from locking things up. You may have hit it
There's a function similar to that, probably the one you found, on the forums that had a bug in it which is present here, where supplying a filter will actually stop it from traversing any folders, as 9 times out of 10 the filter will filter them out (which is most likely not the intention). The fix is to actually browse twice, one with the filter and one without, where the without filter version will just be used to check for children. Here is an example (there's a bug in it, but your approach using extend mitigates it)