I'm going to write about my own experience in boarding school in 1970-71 because my son is having some similar problems and it is bringing up my old shame. All I know that helps shame is to tell the things I feel so much shame about, to stop hiding them.
I went to boarding school with no idea who I was or how to relate to other kids. When another student was unhappy with her roommate I agreed to switch--I guess she had connected with my roommate and I had not. I didn't have any difficulties with the person who was considered an undesirable roommate, but rooming with her made me more isolated. I would have been isolated anyway--I didn't know how to connect with my peers. I just tried to do what was expected of me. I messed up once--we wore uniforms and when it got cold I started wearing a long john undershirt. But I only had one or two, so I wore it more than one day. A note was placed in the drawer of my carrel at study hall saying that I smelled bad. I left a note saying "a skunk smells its own smell first" and then someone else wrote a note saying "not in this case." I had messed up and I felt so terrible about it I couldn't bear to admit it. I grew up in a family where not knowing better was never an acceptable excuse for a mistake.
I don't know if anything could have helped me at that point. In my isolation at that school I discovered a love of science, and that eventually led me to another school and to some success in the world. I have hoped that it would not be quite so hard for my son--he lacks one-on-one social skills with his peers but he has pretty good group social skills. I'm thinking the person who contacted us has overreacted to the situation, but maybe I am just in denial. The frustrating thing is that my son stuck it out with a bad roommate last year and this year his better roommate didn't give him much of a chance before arranging to move to another room.
I've got a race tomorrow--hopefully I can burn up some of my pain then. I wish I had the stress relief of training today, but I think I need to take the day off because tomorrow is a longer distance race (1500 meter swim, 27 mile bike, 10 k run).