Simulator and preview show two different behaviors using GeometryReader

The simulator is on the left and preview on the right. Not sure why the padding is completely removed.

Here's my code:

            GeometryReader { graph in
                VStack {
                    ZStack {
                        Color("Background")
                            .cornerRadius(23)
                            .shadow(color: Color("Shadow").opacity(0.3), radius: 4)
                        VStack {
                            Text("Program Completion")
                                .bold()
                            ProgressViewCircle(progress: $progressValue)
                                .frame(width: 150.0, height: 150.0)
                        }
                    }
                    .frame(width: graph.size.width - 30, height: graph.size.height / 3 )
                    .padding()
                }
            }

Sort of figured it out. Has to do when using segmented style picker that throws of geo reader.

Simulator and preview show two different behaviors using GeometryReader
 
 
Q