What's actually happening is that it is considering the minimum salary you would need to pay to get your roster up to 53 players. If you look at the actual numbers you'll see a "min for remaining players" - this is actually not counting against your salary cap, but is there to help you budget and not run out of cap room. You should be ok as long as that value is above zero and you have 46 players on your roster.
To answer your second question, if you are over the salary cap on a game stage, the AI will cut the player(s) with the highest cap freeing value (if you look at your roster and change the view to "contracts view" it is the column "save if release") until you are under the salary cap. If that takes you below the 46 minimum, it will sign players at the minimum salary, again cutting players to make room, until you have at least 46 players and are under the salary cap.
If you make your roster moves on the midweek, you will also get a warning if you are over the salary cap. The AI cuts will only happen on a game stage, not on the midweeks.