I managed to trigger the ASSERT in the reclaim path, so it looks both this version and our previous code is buggy. It's back to the drawing board for now until I gifure out what's going on.