Take a ring $k$, a right $k$ module $M$ and a left $k$ module $N$. When is it true that $m\otimes n=0$ for $m\in M$ and $n\in N$ implies $m=0$ or $n=0$?
What I can see is that for this to fail, we must have $f\left(m,n\right)=0$ for all bilinear maps $f$ for non-zero $m$ and $n$, which can't be true if $M$ and $N$ are free, as then we can find a bilinear map with $f\left(m,n\right)\neq 0$.
Are there any weaker conditions on $M,N$ or $k$ which guarantee this?
It seems unlikely that this implies $M,N$ are free, but does it?
If the modules are unrestricted, $k$ must be a domain, or else $M=N=k$ gives a counterexample.