When your horse is not easy to collect try to collect it in a circle and don't jump on a straight line .. through the circle and the bending it is forced to sit more back. Usually it needs some time until your horse has the strength in his hind legs to carry himself and jump in a very calm way.
When you try it in a straight line and he runs forward and jumps flat you support that behaviour instead of building the muscles they need to do it right. Sometimes it doesn't make sense to punish them for something that they can't even do right. so take a step back and try to do jumps in circles so that every jump is nice and collected and you will see that your horse will be exhausted after 10 min.