All BinaryFormatter blocks should be behind an AppContext switch. For now this will be an opt-out, when and if the BinaryFormatter gets disabled by the runtime this can be driven by whatever is driving the behavior in the runtime.
Now that we have BinaryFormattedObject, thinking of this in terms of aggressive opt-in of it where we don't support full fidelity. For example, we don't support custom comparers for HashTable.