What is deemed acceptable and unacceptable behaviour in a conversation varies from country to country, and if I had travelled more I would be able to add some weight to my conclusion, namely, that the British and the Germans represent opposite ends of the spectrum.
To put it bluntly: Germans are rude, and the British lie. Germans don’t mince their words, they say exactly what they mean, and if your bum looks indeed big in this they will tell you so. We call that being honest. The British, on the other hand, honestly don’t care about being honest, it is far more important not to upset anyone. If you really want to find out if an outfit suits you, don’t bother asking.
This cultural difference should not be underestimated. Imagine your car has run out of petrol and you are forced to walk to the next petrol station. On your way you ask a passer-by for directions, and for how far it is. If this happens to you in Germany, the exact directions will be given to you, no matter how complicated or confusing, followed by a clear indication of distance and/or time. Invariably this will be rounded off with some honest comment about how stupid it is not to check the fuel gauge. Their British counterpart, on the other hand, will express their regrets for your situation before giving you simplified directions so as not to confuse you (simplified to the point of being utterly misleading, perhaps, but at least not confusing). The distance will be given to you in an unfamiliar measurement, and the time it might take you to get there will invariably be an overly optimistic estimate so as not to upset you any further.
Clearly, as a German I prefer the first option: the instructions are clear, and I agree that if I cannot follow them it is my fault, as is the point about checking the fuel. I appreciate their honesty and move on, hoping to find someone who can help me. The second option, however well-meant and sweet, is completely pointless: their instructions were vague and by deliberately misleading me about the distance and I rightly suspect they were lying. Honestly. I will have to find someone else to ask for directions, and the whoe episode leaves me with a bitter feeling about having been lied to.
As you can see, life as a German inpat is complicated, but luckily for you, I have been able to come up with a simple formula to help you fit in. Over the past fifteen years I have identified the four most frequently used words in any British conversation: ‘sorry’, ‘excuse me’, ‘thank you’ and ‘please’. Adding one of these high-frequency words to an honest comment will immediately smoothen over the potential abrasiveness of your remark, as in ‘Have you put on weight? Please?’
Using linguistic corpus analysis I have been able to establish that their frequency is dependent on the number of people around you: I calculated 1 high-frequency word per person per hour. If there is only one person around, e.g. a British boyfriend, fiancee or flatmate, one high-frequency word per hour will suffice (e.g. ‘excuse me, could you stop being such an idiot?’). In larger groups of people, for example when pushing your way through a seemingly idle group of people in front of a bar (see ‘queue’), you will need to adjust the frequency depending on the size of the crowd (e.g. ‘Excuse me. Thank you. Sorry. Excuse me’).
Using this formula, I am sure you will soon be able to pass for a native. If not, try to stop correcting their English grammar mistakes.