People want containers to be magic but they're actually a hard problem. You want the app not to be able to do anything you don't want it to but still be able to do everything you do want it to.
As I see it the problem that containerization in snaps and similar solution is the isolation of system configuration.
I agree that permissions are an hard problem and honestly I am not sure how much they are relevant for snaps, but what is theory is feasible is that installing a snap could be completely and reversible.
I believe that is true of flatpack at least.