Normally, transfers are locked for 10 blocks. If yours were still locked, it means either node node was failing to sync to the chain, or the wallet failed to refresh from the node. You'd see that if the wallet was claiming the same height for a few days, though I'm not sure if it displays that promoinently.
Of course, it could also be a bug in the GUI or the monero code it uses. You may want to check the logs for the daemon (~/.bitmonero/bitmonero.log) and the GUI wallet (on the console, I'm not sure it logs to a file, but check for a monero-wallet-gui.log wherever the binary is) for errors or suspicious messages which may give a lead.