It is extremely common for dogs to want to be with their owners when home. In fact with multiple dogs, they will follow you all over the house. It can be difficult if you have a lot of larger dogs like I do as all of the Rotties try and come everywhere including the bathroom. So they are made to sit in the hallway and block it entirely. So following you everywhere is normal.
Barking and crying when you leave the room is not normal. Very young puppies do it when crated because they do not like being away from their humans. They cry to get you to let them out ouf their crate. Most people do cave in and releease them which teaches them to cry longer or louder the next time if you try not to let them out.
You seem to be training him well which is a plus. An obedient dog is a pleasure to own. You are definitely on the right track with trying to overcome this, but I think you may need a little tweaking of your technique and some additional training ideas.
The first thing I would do is teach him the quiet command. As crazy as this sounds you may wish to teach the pup the speak command and then the quiet command. It seems easier to teach the quiet command after the dog has learned the speak command. The following site explains teaching speak and quiet commands.
If this doesn't work, you may have to try a citronella bark collar or a shock collar. Try the training first. I really think that will be your best bet since he is trainable.
I also want you to do the containment training again. Instead of leaving the room initially, just step a foot or two away and then go back to his cage and let him out. Do this several times in a row. By now he should then know you are letting him back out almost immediately, so when you go back, slip him a hot dog slice. Do not use normal treats. After doing this a few times, step an extra step away and wait a second or two before returning. If he doesn't react by barking, reward him with calm praise and the treat. If he does, ignore it as much as possible and repeat the previous step in training again. It is best to end each training session on a "positive" note right after he has succeeded. Continue this training until you are stepping around a corner or into the bathroom.
The above works well especially if you are obedience training as well. With the obedience training, you will work on the quiet command as I mentioned but also on the Stay. Now one thing most people forget to teach is a release command. Ultimately when you have a dog sit or down, they should remain that way until you release them. thus there is no need for a "stay" command. Many do teach a stop command to freeze a dog if they are charging. So after a sit or stay, be sure to have tha release command. I use go or OK with my dogs.
You can use the quiet and down command to help teach the dog that you want them to stay and be quiet when you are temporarily out of the room.
As you have found, it is not a quick easy thing to teach especially if there was a history of the dog being let loose when they cried. And to a dog, if you are in the shower and they cry and you come out, they feel their crying achieved the purpose. Now you might tape the sound of the shower or actually pick up your towels or otherwise mimic your movement prior to showering including turning on the water, but don't get in the shower.
Right now the dog gets keyed up before you ever actually get in since he knows the things you do before bathing. My dogs know because I tend to get my book and a drink and put on my robe before I head to the bathroom. They use these clues to determine what you are going to be doing. Change your routine and in most cases, it wil help break the pattern. the other option is to not do some of the things you normally do. For instance, I would go into the bathroom before disrobing since my dogs are used to me putting my robe on first.
Another thing that should prove helpful would be a DAP collar. It uses a pheromone similar to the one a nursing mom produces to calm her pups. These collars have proven helpful for separation anxiety and should help in this case as well.
Another thing I want to mention is that a dog gets bored with toys and should only have half their toys down at any one time. Also take peanut butter, yogurt or meat baby food that does not contain onion or garlic and put it into the kong and freeze it. Use something different ever couple of days. Give that to him when you are going to take a shower or leave the room for an extended period of time.
While it will cue him that you are leaving, it may keep his mouth busy enough that he doesn't bark and thus teaching him that it is better to not bark.
Often it takes a combination of techniques used together to accomplish the desired behavior along with consistency, so definitely use a few ideas together especially the dap collar and various training commands and desensitization.
I hope this information is helpful to you and you are satisfied with my response. If you would like any additional information or have more questions please don’t hesitate to press the reply to expert or continue conversation button so I can address any issues you still have .