Should the likelihood be increasing in every step of the EM algorithm?

I wrote an EM algorithm recently and the number it arrived does not seem to be the maximum.

I know this because I used the optim function on R on the same problem and it arrived parameters which gave a bigger log-likelihood value.

But even when I started at this maximum, I run my EM algorithm, it seem to converge to the other value I initially derived from my EM algorithm.

What is the most likely explanation for this?