I'm not a contracts expert... why aren't guys like Gregoire and Sawchenko signed to contracts by the Sharks? Do the Sharks own their rights or are they free to sign with any NHL team that offers a contract?
NHL teams are limited to a max of 50 (active) NHL contracts. That includes all players signed except 18 or 19 year olds playing in the Canadian Hockey League. Sharks are currently at 49 active contracts, plus five guys in the CHL.
So, the Sharks have expanded the # of guys on AHL deals in recent years; some are lower end or signed-from-rookie-tournament prospects, others are journeymen signed for depth/injury call ups (and spend their time in the ECHL). These players are in the organization's depth chart (which is limited to 90 -- guys under contract, drafted guys in college/USHL/CHL/Europe, guys on AHL deals). Sharks currently have 8 AHL deals. (McCarthy was on AHL deal, mainly because he accepted his role as captain in AHL team and didn't have to deal with the possibility of being claimed on waivers after a NHL call up or season opening waivers for assignment to AHL.)
Nominally, these guys can be offered a NHL deal by another team, but realistically, you ask permission from the NHL team.
Sharks signed on-AHL-contract goalie Brian Boucher for their backup mid-season, but did so by asking NHL Philadelphia if they could.
Sharks have lost at least one guy who signed a NHL deal towards the end of the season (in a window allowed by his contract) for the upcoming season.