A solution would be to put cap only for people below level 31.
Something like
between level 1 to 10 gen max = 5
between level 10 to 20 gen max = 10
between level 20 to 31 gen max = 15
between level 31 to 32 gen max =18
between level 32 to 33 gen max = 22
between level 33 to 34 gen max =30
between level 34 to 35 gen max = 50
And put the bonus of experience to 80 xp
This should be great , will avoid people herlooming thousand of time and be cool with people trying to grind high level who suffered several time of heriloom thief, of generation caps ...