1) Is vertex array RAII object? I mean when I have a vector of vertex arrays and I call "vector.clear()", will there be any memory leaks?
Yes, of course VertexArray releases its memory when it's destroyed. It would be a major mistake otherwise.
Does this mean that if I don't add new verticles after clearing vertex arrays there will be memory leak?
No. It just means that the memory will remain allocated until the vertex array is destroyed. VertexArray is just a std::vector, so if you know how a vector works then you know everything about VertexArray