Hi Zygo, Would you like to test this diff? Although I haven't find a solid reason yet, there is another report and with the help from the reporter, it turns out that balance hangs at relocating DATA_RELOC tree block. After some more digging, DATA_RELOC tree doesn't need REF_COW bit at all since we can't create snapshot for data reloc tree. By removing the REF_COW bit, we could ensure that data reloc tree always get cowed for relocation (just like extent tree), this would hugely reduce the complexity for data reloc tree. Not sure if this would help, but it passes my local balance run. Thanks, Qu