How to sample Bivariate Normal Distribution with Accept reject method
I came up with this answer which can approximately sample a bivariate normal distribution with accept reject method and I thought it might be useful for others in future.
we choose a 2D uniform distribution called $F_{X,Y}(x,y) = F_X(x).F_Y(y)$ where both $X$ and $Y$ are uniform distributions in range of $(0, +a)$ and they are independent of each other.
We choose a constant $C$. Both $C$ and $a$ are chosen based on our bivariate normal distribution so that:

for all $x, y$ we have $C.F_{X,Y}(x,y) \geq BN(x,y)$, Where $BN$ is our bivariate normal distribution.
$x, y \in (-a, +a)$ supports most of our $BN$ density.


The Accept Reject Method:

Now we sample from our $F_{X,Y}(x,y)$. Suppose it's $X1 = (x1, y1)$.

We uniformly choose from:
$$X_{1.1} = (x1, y1),$$
$$X_{1.2}=(-x1, y1), $$
$$X_{1.3}=(x1, -y1), $$
$$X_{1.4} = (-x1, -y1)$$
and name that $\hat{X_1}$ so that we consider all four quadrants of $xOy$.

Now we accept $\hat{X_1}$ as a sample of $BN$ with a probability of $p=BN(x1,y1)/C.f_{X,Y}(x,y)$.

We come back to step 1 and do this cycle to collect as much sample from the bivariate normal distribution as we want.