I feel like you can't completely fade rewards without adding punishment of some sort, unless the behavior is fun in and of itself or so easy the dog finds praise enough of a reward (or doesn't need one) to keep doing it. I mean if a dog goes long enough without a reward, what's the point in continuing to do the behavior? The only command I don't worry about using over and over without a treat for my dog is high five. It's super easy for him to do (doesn't even have to get up) and is never used a form of control (so it's not something I usually compete with distractions for). He finds praise plenty rewarding for that one. I suppose habit might play a role in some commands though, and force that isn't exactly a punishment (If Tucker doesn't come inside when i call him to I just pick up his long line and pull him in, reward or no reward he'll probably start coming in when called because he's going to have to come in anyway. But you can't do that with all commands, and I'm sure some dogs are strong enough that pulling on their long line doesn't work either).
I think what you really want to do is change up the schedule of reinforcement so the dog knows just because he didn't get a reward this time doesn't mean he won't the next time, so it's worth it to keep trying. So instead of rewarding every single time have the dog get rewarded most of the time. Try not to use any pattern. For now only skip a reward once in a while but you can make it more frequent later. This should be for behaviors the dog knows well, not brand new behaviors or else he may believe he's done the wrong thing, causing the behavior to change from what you want. eventually you'll be working so that the dog has to follow several commands without a reward, but eventually he gets one. Try not to do that repeatedly in a row during a training session. So it's not 7 commands without a treat, 1 with a treat, 5 without, 1 with...that's not enough rewards. Instead it might be 7 without, 5 with, 1 without, 2 with, 2 without, 4 with, 10 without, 8 with, etc. He's still getting LOTS of rewards, but learns to go a long time between them. If rewards are few he's not going to be motivated to keep trying, but if he knows 10 in a row might be coming he'll keep going.
Having a dog who doesn't listen if he doesn't see the treats is sort of a different issue. The above issue is more, if he doesn't GET a treat he stops listening because he is used to getting one every time and thinks if he goes once without he must not be getting one at all. This one is because he thinks if he doesn't see a treat he must be unable to earn one. My dog listens to commands when I don't have treats because he knows I can still get up, go into the kitchen, and get him a treat from the fridge or pantry. If we are outside and I didn't bring treats out but something comes up and I ask him to follow a command, I will run inside and get him one (he follows me in). I use praise as a bridge in all of these situations. If he does what i want I immediately start with upbeat praise and continue until I get the treat to him, that way he knows when he did the good thing (as soon as the praise started).
And if you want your dog to listen outside of training sessions you need to practice outside of training sessions, which can be sort of hard to think to do. You have to randomly ask for him to follow commands during the day and give him a reward. Have treat jars around the house so you can quickly get to one AFTER you ask and he listens so he understands you don't have to have a treat in your hand, a reward is always a possibility. Start using his favorite/easiest commands to follow until he understands that a treat is always possible and so it's always worth it to listen, then ask for harder things. Don't wait until you NEED him to listen, like when you are having guests over and it's going to be terribly difficult for him to focus. He needs to be a champ listening whenever you ask, while distractions are low, before you are asking in challenging situations.
So basically you need to teach him two things. One, that he can get a treat even if he can't see them/you don't have any. Two, that even if he doesn't get a treat this time, doesn't mean he won't next time, so he should keep doing what you ask, a treat will come eventually. But remember to always TEACH the behavior with 100% rewards every time he does the right thing. change up the schedule of reinforcement once he's got it down pat. Same goes for listening outside of training sessions. Even if his sit is phenomenal in training sessions doesn't mean it is outside of training sessions. so maybe you can skip some rewards in a training sessions, but you can't skip them outside of training sessions yet. it has to be great outside of the training sessions before you can stop rewarding every time.
Those are my feelings on it. Treats can still be used frequently to reward without your dog needing to see them or get rewarded with them every single time. You just have to switch up how you reward.
If caught off property without treats and the need to ask the dog to do some commands he should be fine because he's learned sometimes he has to go a while between treats. Even though you don't have them on you he'll have learned that you don't have to in order for him to get some (assuming of course that you've practiced these things off property). Of course I would try to find another way to reward if possible. Think of life rewards. Especially if you are asking for a lot. My dog finds it incredibly rewarding if i run with him, so I can always just break out into a run if he does something I like.