In BLDC FOC control Torque at a given RPM depends on the load given to the motor. As the load increases, to reach the predefined RPM, the PID algorithm will provide more power/torque [changing PWM duty cycle]. So please confirm if you had tried increasing the load to get the maximum torque. Once it reach the maximum torque [probably around 35Nm for this motor] and if the load increases further the motor will not be able to reach the defined RPM.
Actually I have let the motor run at no load. I didn't try adding load to the moto. I
Won't I get the torque 35mNm at 16000 rpm with load or no load?
Yes you need to increase the load, to get higher torque.
Since the algorithm will provide required torque to reach the defined speed. With noload you are getting the required RPM with less torque and the algorithm will not increase it further. [Basically, he feedback to the system is the RPM of the motor]
Thank you very much Jobin