Your mon stops leveling once it hits the cap, set by your regional amount of badges. Any excess EXP isn't wasted, it's stored — the mon will use it to level up once you gain another badge (or become the regional Champion for the final boost) and fight something after that.
If you have a mon that's over the regional level cap (bought or brought from another region), it'll faint itself. It can still use its overworld moves.
Kanto: 20/26/32/37/46/47/50/55/62/100
Hoenn: 20/24/28/33/35/38/44/48/58/100
Unova: 20/24/27/31/35/38/43/46/56/100
Sinnoh: 20/27/29/34/37/43/46/52/60/100
You can see your current cap on your trainer card. "C" button if playing on PC.
pastelink.net/levelcaps