@kloy, what you’re seeing is correct rendering. The top margin on the content ‘extends’ out of the top of the body (or parent element). There are a number of ways to correct this.
1) Add a 1px padding to the top of body, or
2) Add a 1px border to the top of body, or
3) Add overflow: hidden; to body (changing its block formatting context), or
4) Use 50px top padding on the body and remove the top margin from the content (as Eric stated)
5) Place the background image on an ancestor element, html in this case (as jurotek stated).