Answer : This confusion is introduced by "name overloading", i.e "RPC" (or Remote Procedure Calls) being used to designate multiple technologies that have nothing to do with each other. The "RPC" naming in SQL Server came from Sybase and it represents a type of "formatting" of the query inside a TDS packet before it is sent over the wire to SQL Server. RPC events differ from Language events in that the latter are simple, plain text submitted to SQL Server for parsing as is, while the former are “pre-formatted" a bit by the driver/provider (OLEDB, ODBC, SNAC, JDBC, etc.) and SQL Server has to do a bit less work (thus a small performance gain on the server). All this happens strictly at the TDS protocol level (SQL Server SNI layer performs it) to which anything outside of SQL Server is oblivious. TDS (Tabular Data Stream) is an Application-Layer protocol in the OSI Model and is used by SQL Server and client drivers/providers to exchange information.
Note: RPC events show up as RPC:Starting/RPC:Completed events in Profiler or Xevents. Language events show up as SQL:BatchStarting/SQL:BatchCompleted events in Profiler or Xevent.