Yes, this is because when the message is put in the pending list, the information about the consumer it was delivered to is stored with it; but if the consumer dies, the pending list is still alive (and the messages in it still have the accounting information that it was delivered to the now dead consumer). From the documentation for XCLAIM (see point no.3)
1 There is a stream with an associated consumer group.
2 Some consumer A reads a message via XREADGROUP from a stream, in the context of that consumer group.
3 As a side effect a pending message entry is created in the pending entries list (PEL) of the consumer group: it means the message was delivered to a given consumer, but it was not yet acknowledged via XACK.
4 Then suddenly that consumer fails forever.
5 Other consumers may inspect the list of pending messages, that are stale for quite some time, using the XPENDING command. In order to continue processing such messages, they use XCLAIM to acquire the ownership of the message and continue.