There are 2 main reasons why your nut will come off:
1. clutch is not on far enough – If, after tightening the starter nut there is no thread of the starter nut showing between it and the retention nut then the starter nut is not locking onto the end of the shaft – the clutch needs to go on further.
2. Natural unwinding due to starter running slower than engine when engine has fired. If, after starting the engine, the starter is not removed quickly enough it can unwind the nut due to the speed of the nut travelling slower than the engine speed. It is recommended that you use a tiny bit of Loctite on the starter nut if this is happening and although it won’t cure it, it will help.