According to the documentation implicit sharing is done mostly for performance (avoiding copies and automatic copy-on-change).
Why is it implemented for the class QDateTime that should apparently be just a small amount of bytes? I'd say that the cost of heap allocation and thread synchronization for reference counting update would exceed by a lot the small gain of not copying a few bytes.