In a medium saucepan, add frozen spinach and wine. Cook covered over low heat until done. Cool and drain by squeezing spinach with hands or cheesecloth, reserving liquid.
In a medium saute pan, cook bacon until almost done, then add onions and garlic, continue cooking until onions are golden. Remove bacon mixture from pan and add cooking liquid from spinach.
Open oysters (be sure to keep the 1/2 shell you will not be using near to 1/2 shell containing oyster) draining liquid into pan also. Add thyme and boil over medium heat until reduced to about 1/4 cup.
Add cream and hazelnut liqueur; continue cooking until mixture is thickened and reduced a bit. Season to taste with white pepper.
In a medium mixing bowl, combine spinach with bacon mixture and cream sauce. Stir until thoroughly combined. Top each oyster with 1-2 tablespoons of spinach mixture. Sprinkle with swiss cheese and half as much asiago cheese.
Roll puff pastry accordingly. Using the 1/2 shell as a template, set on top of pastry and cut out, then lift the piece of pastry and put on top of corresponding oyster. Continue doing this until all oysters are topped with pastry, discard unneeded 1/2 shells. Beat egg with 1 tablespoon of water and with a pastry brush, brush tops of each oyster.
Place oysters on a baking sheet and bake in a 400-degree oven for 30-40 minutes or until pastry is a dark golden brown. Serve immediately.