I think I found the origin of this glitch : When I'm trying to display an picture on some float value with a lot of decimal, sometime few pixel of the sprite above appear.
I make an other tiny project and I reproduce the same glitch with few line of code : here the link.
Important note : I try to share the file on dropbox but some folder failed to be shared on dropbox server. If the project doesn't work : you just need create a new "windows desktop using DirectX" and copy/past the "Game1.cs" file from the link below in this new project, and add this texture in the monogame pipeline and call it "player".
You will the sprite above in the 10-15 seconds after launch the project.
By the way, I try the project with and without using matrix, it change nothings.
I didn't find any solution for the moment, but I hope this project will help me to find any solution.
In theory, I can simply display the sprite by using "Math.Round()" of the position (because the screen is made of "whole number" (is this the good word ?) of pixels, so if I tell to the game to display the sprite at a "new Vector2(1.0123456789f,1.0123456789f)" or a "new Vector2(1f,1f)", the same things should happen ?).
But how can I do that with a matrix ?