What Purify does is to remove all but the largest particle in both foreground and background phases.
Our use case was trabecular bone, which is a single connected network. The biggest single particle should normally be the foreground pixels representing the trabecular bone and the biggest background particle is the marrow space. Other bits of foreground are noise, cutting swarf, etc. Other bits of background are noise within the trabecular bone phase that appear to be cavities.
One possibility is that you have your phases mixed up so that your phase of interest is in the background, and the pore space/matrix relation is reversed. Normally we do it so that bone is represented by 255 (foreground) and marrow is 0 (background). It might look to the algorithm that your structure is not a branching object but a cavity. (This is where things get weird because you can think of, let's say, a table as being a 'cavity' contained within the air phase - it all depends on what you call 'foreground' and 'background').