Sounds like he's an active little guy, doesn't sound like your doing anything wrong! I have a 16lb Yorkie who sounds similar to yours... he swims a few times a week (my dad has an inground pool) and an occasional beach visit (maybe 2x a month) as well as weekly visits to dog park, daily walks and visits to family and friends home constantly with other dogs, etc. He's what I'd consider pretty active, though no Border Collie status, alot of Yorkies have quite a bit of energy and it sounds like Knox fits that description! Let him run and play his little heart out! Just be sure he gets enough water
My friends yorkies are like 4 1/2lbs and 6lbs and often get 4 mile walks and dog park visits and they are really active too and do just fine. As for food, I personally have fed grain-free, higher-ish protein food since he was 6 months old. We started with Merrick's Before Grain line, then Nature's Variety Instinct, Fromm Surf and Turf and now we're onto Acana grain-free. He's done the best on Acana.