I find "redneck" to be mildly offensive when used in such an insulting way. It implies a poor white person who must work outside to earn a living. More offensive is the term "white boy", which is currently very popular among some other ethnic groups around here.