As Gunnar says, you have to be sure you are stalling and not ventilating.
When going upwind, you tilt the foil a lot, so the main wing are closer to the surface and might easily suck air down, causing a sometimes very severe stall.
But if it is a clean stall with foil 100% under the water away from the surface, there are many reasons, but the principle is the same:
The AOA of your given foil is too high, relative to your speed and weight.
Having a bigger foil (area) will make you able to ride with lower AOA (go slower) and have the same total lift.
So you can either use a bigger foil wing, or a more cambered one.
OR, use your existing one and go faster !
More speed, and you will avoid the stall
More speed means bearing a bit lower, but as you go faster too, your VMG is not necessarily bad.
Are you having imperfections in your foil, it will also create local turbulence which can give separation and it will stall easier.
If your leading edge is very sharp, you will get a violent stall - where a round one will be softer.
But if you dont have sufficient camber (curve) in your foil, it WILL stall easier, even with a round LE.
It will also be faster though, if thin and flat, so always a balance.
So go faster, meaning a bit lower, and/or use a slightly bigger kite