I've been running around the Pokeworld for quite a while, I am trainer level 27, able to catch pokemon level 70. However, I am not finding any pokemon above level 55. What I was wondering was is there a level cap for naturally spawned pokemon? As for low exp gain, I find it tough to level both my high and low level pokemon. For example, I was trying to level up my lv11 Nidoran-M, but after taking out a lv43 pokemon with my gyarados, I only gained 143 exp on both of them. I've also been running into the same issue when it comes to fighting with gyarados, because when I fight haunters level 55 with my lvl46 gyarados, I gain around 700 exp.
The level cap for wild naturally spawning Pokemon is 55, when it says that you can catch level 70 Pokemon, it mainly only applies to trades and means that you can trade for up to level 70 Pokemon. I hope this clears up the confusion. If you have any other questions feel free to message me on the forums or on discord!