The way segments work is that it looks at a condition you specify (page not contain "pricing") and then brings in all of the information for the level you specify.
For example, if a visitor looks like this
visit 1
page = pricing
page = other
visit 2
page = pricing
visit 3
page = other
If you have a visitor where page isn't pricing, it will see that the visitor above matches that condition (both visit 1 and 3 have a page that isn't pricing), so it will bring in ALL of the VISITOR information. The "does not contain" isn't an exclude, it's just saying find someone who saw something other than this.
If you want to exclude that page, you would need to set your segment to "page contains pricing" and then EXCLUDE the container. The exclude will remove those pages so that they don't show up. Now, if you have a visitor level exclude container, it will exclude all information for any visitor that sees even 1 "page contains pricing". If you do the exclude at a hit or visit level, you will still have some of the pages showing, same issue as above. So keep that in mind.
If you're just trying to exclude a particular page from a list of pages, instead of building it into a segment, you could use "does not contain" in the filters directly on the dimension. Then you wouldn't have to worry about the segment bring in/excluding information you don't want it to.