It could very well be that Shakespeare was Roman Catholic. Many people in England were, at the time, closet Catholics. Of course, he might not have been. The Anglican church was different in name only from the Catholics for the most part at the time, and really until fairly recently. So the frame of reference in his writings was the same, nonetheless. It is interesting to ponder, however!
records state that Shakespeare’s father was accused of being a Papist once. And there is a story he was baptized on his deaath bed by a mysterious Jesuit Priest. Hamlet has many Roman Catholic elements about it.
Oh, so that is why Shakespeare wrote 126 love sonnets to a man--he was a Roman Catholic. The mystery is finally solved.