Your model is not the only thing in memory.
Model weights take space. The runtime and active requests need space too. Longer contexts, more concurrent requests and the way the model runs can change the memory requirement. Leave room for the complete workload rather than sizing only from a model file.
Precision changes the trade-off.
Quantization can reduce memory usage by representing values at lower precision. Support and output quality vary by method and model. Verify compatibility and evaluate the result for your own task. A memory saving is not automatically a speed improvement.
Test a representative workload.
Check whether the model loads and then test the inputs, output lengths and concurrent usage you expect. Measure memory use, latency and throughput. A successful short prompt is not a capacity test for a busy application.