Hi Manish
surelly you did something wrong. What you have to do is:
1) Remove any Idle or Session Timeout from the policy
2) Set an high value on keep-alive timeout of the GW
We have a lot of customers that are using this solutions without any issue. To investigate why the guests are logged-off , enable the radius logging on Mikrotik and check why the user is disconnected from the radius.