Discard any broken clamshells. Soak the clams in cold water for about 15 minutes to remove any sand. Place in a colander.
Drain and rinse beans. Reserve one cup of beans in a large bowl. Put milk and
remaining beans in a pot and blend with an immersion blender until very smooth. Heat until just warm.
Sauté bacon in a large heavy pot or Dutch oven. When crisp, remove to a paper towel-lined plate and reserve for garnish. Add olive oil to pot and heat over medium heat. Add shallots and celery and sauté for two minutes. Add garlic and sauté for one minute more. Remove vegetables and place in bowl with reserved beans.
Add clam juice and clams to pot, cover, and bring to a boil over high heat. Steam about eight minutes, shaking pot a few times until clams open. Using tongs or spider strainer, move clams into a colander over a bowl. Add warm milk and bean mixture and half-and-half to pot of clam juice, stir to combine, and bring to low boil over medium heat.
Meanwhile, discard any clams that have not opened while steaming. Open remaining clams over bowl, reserving their juice. Remove opened clams from their shells and add meat to bowl with reserved vegetables. Add reserved juice from clams to pot. Add clams, vegetables, and reserved beans to pot and heat through.
Garnish individual servings with crisp bacon and thyme. Serve immediately.
TIP: Puréeing the cannelloni beans and milk together before heating over the stove prevents the milk from curdling.