I tried to do 2-gram language model and fst for sentence "dogs chase" suing openfst. I have attached the image for the same . Can someone enlight me on why there is a transition between final states? 
I had assumed that double circle denotes final states and there should not be any transition from final states. Also how "chase dogs" probability will be computed ?
Not sure how you prepared your fst but it looks like your fst is already somehow optimized, so it is not very straightforward. If you turn off optimization it might be easier to understand what is going on.
Transition between final states is perfectly possible.
Transition from state 1 to state 0 then to state 2 then back to state 0 then to state 1 then back to state 0.