That may be due to the same reason, why GRE tunnels Linux<->Mikrotik stop wotking at some point: Linux doesn't send keepalive packet, while Mikrotik is expecting it, and no any othe traffic goes through the tunnel for some time.
Solution is described here GRE keepalive with Linux and RouterOS
The other option may be to set maximum possible keepalive value on the Mikrotik side, which is 4294967295 according to docs. Or some people say at Mikrotik forums, that you can undefine it to completetely turn off, but i never tested it, so can't confurm.