Why is the visual behavior for a WPF checkbox reversed when checking/unchecking?

The WPF (Windows Presentation Foundation) checkbox control has opposite visual behaviors for when it is checked and unchecked.

That is, when the mouse button is pressed, the check mark fades into view and stays when the mouse button is released. If pressed again, the check mark stays until the mouse button is released (at which point it then fades away).

Checking - Mouse Down
Checking (Mouse Down)

Checking - Mouse Up
Checking (Mouse Up)

Unchecking - Mouse Down
Unchecking (Mouse Down)

Unchecking - Mouse Up
Unchecking (Mouse Up)

This behavior reminds me how a mechanical toggle button works. The button is pushed in and clicks into place. When pushed again, it stays in place until you let it spring back out.

Is there a practical UX lesson to be learned here from this behavior?

Do these subtle visual cues add any value to the user's experience?