99 percent of the athletes are playing for their countries. Why do you think just about every winner grabs his/her countries flag and runs around the stadium or track with it? Why is there a sea of flags in the crowds from the countries currently competing? Without the patriotism would there even be an Olympics?
Without the patriotism/nationalism involved, I think there would still be an Olympics for the very reason most sports exist: people participate for recreation but most people eventually want to know who the best of the best is. The original Olympics weren't about nationalism but about paying tribute to the gods and determining who was the greatest athlete in each discipline. Our professional leagues don't care where the athletes are from (for the most part), just who is the best team or competitor.
Now in terms of what the athletes owe, being as they live on the taxpayer's dime for the most part, yes they do us their best effort. Do we get it? I think we do: as others have said we all have our good days and bad days.
To the original question about Canada choking a lot, I don't know. It feels like we do at times (ie Jeremy Wotherspoon, Perdita Felicien, Men's Hockey Team in Nagano and Turin and others) but that could also be from over estimating our athletes.