Pick through the beans and discard any debris - wash under cold running water. In a food processor, add garlic, onion, bell pepper, and cilantro.
Set a large pot over medium heat and add a 3-count of olive oil. Add the oregano and cumin. Add vegetable puree and saute until just fragrant, 7 to 10 minutes. Add beans, ham hock, jalapeno, and stock. Slightly cover and simmer for 2 hours until beans are tender.
When cooked, remove bay leaves and take out ham hock. Cut ham meat off the bone, cut into pieces and set aside.
Using a blender or immersion blender, puree just enough of the beans and stock (about a third of the total pot) to thicken up the soup and bring everything together. Season with salt and pepper and fold ham meat back into the soup.
Make the crema by combining sour cream and zest. Serve each soup with a spoonful of lime crema, a squeeze of lime and some fresh cilantro.