Rinse the beans and pick out any stones or broken pieces. Place them in a large bowl, cover with water by 3 inches and soak for 8 hours or overnight. Drain and rinse.
Heat the oil in a large pot over medium-high heat. Add the sausage and cook for 4 to 5 minutes, until browned. Remove it with a slotted spoon and set aside, leaving the fat in the pot.
Lower the heat to medium. Add the onion, celery and bell pepper and cook for 6 to 8 minutes, stirring often, until soft and starting to turn golden.
Stir in the garlic, thyme, smoked paprika, Cajun seasoning, cayenne and black pepper and cook for 1 minute, until fragrant.
Add the drained beans, ham hock, bay leaves, broth and Worcestershire sauce, if using. Stir to combine.
Bring to a rolling boil over high heat and boil hard for 10 minutes. Skim off any foam.
Reduce the heat to low, partially cover and simmer for 2 to 2½ hours, stirring every 20 to 30 minutes and adding water or broth if the pot looks dry, until the beans are completely tender and creamy.
Remove the ham hock and bay leaves. Shred the meat from the hock, discard the skin and bone, and return the meat to the pot.
Mash about 1 cup of the beans and stir them back in to thicken the pot.
Add the browned sausage and simmer, uncovered, for 15 minutes. Taste and adjust the salt, pepper and hot sauce.
Serve hot over rice, topped with green onions and a few drops of hot sauce.