T.P.
My first son did this as well, he also has slight OCD issues so I know how you feel. We would explain the difference b/w inside behavior and outside behavior - when we are inside we don't "you fill in the blank here" but we can do those things outside ... that way we could simply say 'this is not how we behave inside' and we would ask him to go to his room until he could calm down and act appropriately inside. I know it is more difficult when grandparents come, especially when you feel like you have to 'train' them too. Just explain to them as well that it might be ok behavior for them but he doesn't understand when it is ok for grandma but not ok for friends and we need to remain consistent right now until he is old enough to understand. My child is 5 and for the most part 'gets it' now but we occasionnally have the crazy behavior ... we just quietly tell him to go to his room until he can calm down so it isn't made into a big deal in front of everyone. Good luck!