Yes. I have seen this also. It is a bug, but I do not think anyone is interested in working on it.
It appears to be related to using IMAP for receiving email. POP mail takes the emails from your gmail (or other) account and places it in you ERPNext inbox leaving no emails in the original source account. (This is a move operation not a copy operation)
IMAP takes a copy of the emails from the source and places the copies in the ERPNext inbox. When the script retrieves the emails from the source mailbox it is marking them read as it takes a copy. The original developer forgot to use the switches for keeping the emails original state during the moves.
It has been a very long time since I manged an IMAP mail transfer, but I do remember there being command switches for keeping the emails in an unread state. I have no idea where to look in the code for this in ERPNext and I am probably far to rusty to be messing with the command syntax these days.