Thanks for the reply. To answer the questions you posed:
Yes it seems to happen to all users.
They are using the app on their phones and it doesn't happen on the webpage. We do have a batch approval on, but that runs at midday each day and shouldn't affect these timesheets as they haven't been approve.
I'm not aware of any customisation that has been done to the entities for timesheets.
I've looked at the Views and it did not show returned records by default, but changing this doesn't seem to have fixed it.
I've done a little more testing and found that the returned timesheet does appear on the app briefly with the return comment visible, but once you close the app and open it again, it's gone. It does seem to suggest some sort of automatic process, but I can't imagine what it is.