I think it's pretty typical that children act differently when company comes. When I used to nanny, I remember sometimes I would take the child out of the room for a few minutes until they calmed down because they would get so riled up.
For DD it manifests itself differently, for her it's like if you try to correct any behavior she will burst into tears and cry almost uncontrollably. To use your example of your son taking a toy, if I said something like, "Oh that's the baby's toy, would you give it back?" I could say it in the sweetest, most cheerful way and she would still burst into tears and be beyond embarrassed. Thankfully because of this she tends to be pretty well behaved in front of people, but it creates a double edged sword because sometimes I let things go that I typically wouldn't because I don't want her falling to pieces. Then I feel like the parent is looking at me thinking, "Why didn't you correct her?"
I don't have any advice, just wanted to say I think it's totally normal!