Serialize a Dictionary

According to the docs a Dictionary can’t be serialized in Unity so I was thinking about buying an asset that can do that so that i can save my dictionaries to file, but I’m able to serialize and deserialize a Dictionary using the BinaryFormatter, I’m not sure I understand, can someone explain the difference between serialization and what the BinaryFormatter does?

Dictionaries can be serialize, but unity does not do it.

There is even example in docs how to do it: Unity - Scripting API: ISerializationCallbackReceiver

There are some assets (free or not) to also draw it in inspector, one of them you can see there: