Is the memo data part of the blockchain or is it just optional data? Who is storing all of this data and where? How many GB does all of the memo data take currently?
That's not a clear question, because a memo-field can be implemented in several different ways and if a developer wants to, he can also store it in RAM.
Assuming that you mean the memo of a standard transfer-action - it is stored in the actual block.
Every Node is storing this data as there are currently no light-nodes available.
Can't answer the last question.