I usually start off being loose in the bedroom at night/early morning. On weekends we're out at 5-6 am and then breakfast, then out again and I come upstairs and try to sleep another hour or two. That's a good time to let a puppy up. So long as the pup will lie down and sleep, they stay out. Once they hop off the bed, it's back in the crate (Mother needs her rest!) Works better in winter as I can shut the bedroom door and it's darker in the early hours, so the dogs want to nestle and stay put.
Likewise, nighttime is good, because I've found that once they settle in for the night, they do tend to stay in one place (assuming your bedroom isn't full of fun distractions).
My pup is going to be 1 in a couple of weeks and only now am I leaving her loose while I shower or run upstairs to get something or downstairs to do laundry (usually she'll follow me, but before I made her come with me or put her in the crate).
I don't tend to trust them with the run of the house when I'm not home until age 3-4.